|
@@ -0,0 +1,478 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
|
+
|
|
|
+<xsd:schema xmlns="http://www.springframework.org/schema/security"
|
|
|
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
|
+ targetNamespace="http://www.springframework.org/schema/security"
|
|
|
+ xmlns:util="http://www.springframework.org/schema/util"
|
|
|
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
|
|
|
+
|
|
|
+ <xsd:import namespace="http://www.springframework.org/schema/util" />
|
|
|
+
|
|
|
+ <xsd:element name="session-context-integration">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+
|
|
|
+ <xsd:attribute name="sessionCreation"
|
|
|
+ default="ifRequired">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Indicates if this filter can create a HttpSession if
|
|
|
+ needed (sessions are always created sparingly, but setting this value to
|
|
|
+ false will prohibit sessions from ever being created).
|
|
|
+ Defaults to true. Do not set to false if
|
|
|
+ you have set forceEagerSessionCreation to true ,
|
|
|
+ as the properties would be in conflict.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ <xsd:simpleType>
|
|
|
+ <xsd:restriction base="xsd:string">
|
|
|
+ <xsd:enumeration value="ifRequired" />
|
|
|
+ <xsd:enumeration value="never" />
|
|
|
+ <xsd:enumeration value="always" />
|
|
|
+ </xsd:restriction>
|
|
|
+ </xsd:simpleType>
|
|
|
+ </xsd:attribute>
|
|
|
+
|
|
|
+ <xsd:attribute name="forceEagerSessionCreation"
|
|
|
+ default="false" type="defaultable-boolean" use="optional">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Indicates if this filter is required to create a 'HttpSession'
|
|
|
+ for every request before proceeding through the filter chain, even if the
|
|
|
+ 'HttpSession' would not ordinarily have been created. By
|
|
|
+ default this is 'false', which is entirely appropriate for
|
|
|
+ most circumstances as you do not want a 'HttpSession'
|
|
|
+ created unless the filter actually needs one. It is envisaged the main
|
|
|
+ situation in which this property would be set to 'true' is
|
|
|
+ if using other filters that depend on a 'HttpSession'
|
|
|
+ already existing, such as those which need to obtain a session ID. This
|
|
|
+ is only required in specialised cases, so leave it set to
|
|
|
+ 'false' unless you have an actual requirement and are
|
|
|
+ conscious of the session creation overhead.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="cloneFromHttpSession" default="false"
|
|
|
+ type="defaultable-boolean" use="optional">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Indicates whether the <code>SecurityContext</code> will be cloned from
|
|
|
+ the HttpSession. The default is to simply reference (ie
|
|
|
+ the default is 'false'. The default may cause issues if
|
|
|
+ concurrent threads need to have a different security identity from other
|
|
|
+ threads being concurrently processed that share the same
|
|
|
+ <code>HttpSession</code>. In most normal environments this does not
|
|
|
+ represent an issue, as changes to the security identity in one thread is
|
|
|
+ allowed to affect the security identitiy in other threads associated with
|
|
|
+ the same 'HttpSession'.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:element name="authentication-remember-me-filter"
|
|
|
+ type="RememberMeFilter">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation source="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
|
|
|
+ <![CDATA[
|
|
|
+ makes the filter, but does little else, as it auto-detects everything
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:complexType name="RememberMeFilter">
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="rememberMeServicesBeanRef"
|
|
|
+ type="xsd:string" use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:element name="authentication-remember-me-services"
|
|
|
+ type="RememberMeServices" />
|
|
|
+
|
|
|
+ <xsd:complexType name="RememberMeServices">
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="key" type="xsd:string" use="optional" />
|
|
|
+ <xsd:attribute name="principalRepositoryBeanRef"
|
|
|
+ type="xsd:string" use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <!-- Logout Filter -->
|
|
|
+ <xsd:element name="logout-support">
|
|
|
+ <xsd:complexType>
|
|
|
+ <!-- Write other attributes -->
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="redirectAfterLogoutUrl"
|
|
|
+ type="xsd:string" default="/" />
|
|
|
+ <xsd:attribute name="logoutUrl" type="xsd:string"
|
|
|
+ default="/logout" />
|
|
|
+ <xsd:anyAttribute namespace="##other" processContents="lax" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- Exception Translation Filter -->
|
|
|
+ <xsd:element name="exception-translation"
|
|
|
+ type="ExceptionTranslation" />
|
|
|
+
|
|
|
+ <xsd:complexType name="ExceptionTranslation">
|
|
|
+ <xsd:all>
|
|
|
+ <xsd:element ref="entry-point" maxOccurs="1" />
|
|
|
+ <xsd:element ref="access-denied" maxOccurs="1"
|
|
|
+ minOccurs="0" />
|
|
|
+ </xsd:all>
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:element name="entry-point">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="entryPointBeanRef" type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:element name="access-denied">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="accessDeniedUrl" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ <xsd:attribute name="accessDeniedBeanRef" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <!-- AuthenticationProcessigFilter -->
|
|
|
+ <xsd:element name="authentication-form"
|
|
|
+ type="AuthenticationProcessingFilter" />
|
|
|
+
|
|
|
+ <xsd:complexType name="AuthenticationProcessingFilter">
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="authenticationUrl" type="xsd:string"
|
|
|
+ use="required">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The URL destination that this filter intercepts and processes (usually something like
|
|
|
+ /login)
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="defaultTargetUrl" type="xsd:string"
|
|
|
+ use="required">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Where to redirect the browser to if authentication is successful but ACEGI_SAVED_REQUEST_KEY is
|
|
|
+ null
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="errorFormUrl" type="xsd:string"
|
|
|
+ use="required">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Where to redirect the browser to if authentication fails.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <xsd:element name="authentication-mechanism"
|
|
|
+ type="AuthenticationManager">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation
|
|
|
+ source="org.acegisecurity.providers.ProviderManager">
|
|
|
+ <![CDATA[
|
|
|
+ Resolves to 'org.acegisecurity.providers.ProviderManager'
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:complexType name="AuthenticationManager">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element ref="authentication-jdbc" minOccurs="0"
|
|
|
+ maxOccurs="1" />
|
|
|
+ <xsd:element ref="authentication-ldap" minOccurs="0"
|
|
|
+ maxOccurs="1" />
|
|
|
+ </xsd:sequence>
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:element name="authentication-jdbc">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation
|
|
|
+ source="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
|
|
|
+ <![CDATA[
|
|
|
+ if not specified will be auto-tetected from the ApplicationContext and tried in order
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="ref" type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:element name="authentication-ldap">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation
|
|
|
+ source="org.acegisecurity.providers.ldap.LdapAuthenticationProvider">
|
|
|
+ <![CDATA[
|
|
|
+ if not specified will be auto-tetected from the ApplicationContext and tried in order
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="ref" type="xsd:string">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ A short-cut alternative to a nested "<ref bean='...'/>" element.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <xsd:element name="principal-repository" type="PrincipalRepository" />
|
|
|
+
|
|
|
+ <xsd:complexType name="PrincipalRepository">
|
|
|
+ <xsd:choice>
|
|
|
+ <xsd:element ref="jdbc" minOccurs="0" maxOccurs="1" />
|
|
|
+ <xsd:element ref="ldap" minOccurs="0" maxOccurs="1" />
|
|
|
+ <xsd:element ref="properties" minOccurs="0" maxOccurs="1" />
|
|
|
+ <xsd:element ref="user-definition" minOccurs="0"
|
|
|
+ maxOccurs="unbounded" />
|
|
|
+ </xsd:choice>
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:element name="jdbc">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="dataSourceBeanRef" type="xsd:string" />
|
|
|
+ <xsd:attribute name="authoritiesByUsernameQuery"
|
|
|
+ type="xsd:string" use="optional" />
|
|
|
+ <xsd:attribute name="jdbcTemplateBeanRef" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ <xsd:attribute name="rolePrefix" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ <xsd:attribute name="usernameBasedPrimaryKey"
|
|
|
+ type="xsd:boolean" use="optional" />
|
|
|
+ <xsd:attribute name="usersByUsernameQuery" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+
|
|
|
+ <xsd:element name="ldap">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="not-yet-defined" type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:element name="properties">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="resource" type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:element name="user-definition">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="granted-authority" minOccurs="0"
|
|
|
+ maxOccurs="unbounded">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="authority"
|
|
|
+ type="xsd:string" use="required" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+ <xsd:element name="granted-authority-ref" minOccurs="0"
|
|
|
+ maxOccurs="unbounded">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="authorityBeanRef"
|
|
|
+ type="xsd:string" use="required" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+ </xsd:sequence>
|
|
|
+ <xsd:attribute name="username" type="xsd:string"
|
|
|
+ use="required" />
|
|
|
+ <xsd:attribute name="password" type="xsd:string" />
|
|
|
+ <xsd:attribute name="enabled" type="xsd:boolean" />
|
|
|
+ <xsd:anyAttribute namespace="##local"
|
|
|
+ processContents="strict" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+
|
|
|
+ <xsd:element name="authentication-repository"
|
|
|
+ type="AuthenticationRepositoryType" />
|
|
|
+
|
|
|
+ <xsd:complexType name="AuthenticationRepositoryType">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="salt-source" type="SaltSource"
|
|
|
+ minOccurs="0" maxOccurs="1" />
|
|
|
+ <xsd:element name="password-encoder" type="PasswordEncoder"
|
|
|
+ minOccurs="0" maxOccurs="1" />
|
|
|
+ </xsd:sequence>
|
|
|
+ <xsd:attributeGroup ref="AuthenticationRepositoryAttributes" />
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <!-- <security:salt-source source="systemwide|reflection" salt="salt"/> -->
|
|
|
+ <xsd:complexType name="SaltSource">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:choice minOccurs="0" maxOccurs="1">
|
|
|
+ <xsd:element name="system-wide">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="systemWideSalt"
|
|
|
+ type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+ <xsd:element name="reflection">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="userPropertyToUse"
|
|
|
+ type="xsd:string" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+ </xsd:choice>
|
|
|
+ </xsd:sequence>
|
|
|
+ <xsd:attribute name="saltSourceBeanRef" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="PasswordEncoder">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:choice minOccurs="0" maxOccurs="1">
|
|
|
+ <xsd:element name="encoder">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:attribute name="method" type="encoders" />
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+ </xsd:choice>
|
|
|
+ </xsd:sequence>
|
|
|
+ <xsd:attribute name="encoderBeanRef" type="xsd:string"
|
|
|
+ use="optional" />
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:attributeGroup name="AuthenticationRepositoryAttributes">
|
|
|
+ <xsd:attribute name="id" type="xsd:ID">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ The unique identifier for a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ <xsd:attribute name="repositoryBeanRef" type="xsd:string">
|
|
|
+ <xsd:annotation>
|
|
|
+ <xsd:documentation>
|
|
|
+ <![CDATA[
|
|
|
+ Reference of a bean.
|
|
|
+ ]]>
|
|
|
+ </xsd:documentation>
|
|
|
+ </xsd:annotation>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:attributeGroup>
|
|
|
+
|
|
|
+ <!-- simple internal types -->
|
|
|
+ <xsd:simpleType name="defaultable-boolean">
|
|
|
+ <xsd:restriction base="xsd:NMTOKEN">
|
|
|
+ <xsd:enumeration value="true" />
|
|
|
+ <xsd:enumeration value="false" />
|
|
|
+ </xsd:restriction>
|
|
|
+ </xsd:simpleType>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <xsd:simpleType name="encoders">
|
|
|
+ <xsd:restriction base="xsd:NMTOKEN">
|
|
|
+ <xsd:enumeration value="md5" />
|
|
|
+ <xsd:enumeration value="md5Hex" />
|
|
|
+ <xsd:enumeration value="sha" />
|
|
|
+ <xsd:enumeration value="shaHex" />
|
|
|
+ <xsd:enumeration value="custom" />
|
|
|
+ </xsd:restriction>
|
|
|
+ </xsd:simpleType>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+</xsd:schema>
|