@ -26,21 +26,20 @@ public class BasicAuthenticationBeanDefinitionParser implements BeanDefinitionPa
@@ -26,21 +26,20 @@ public class BasicAuthenticationBeanDefinitionParser implements BeanDefinitionPa
@ -36,9 +36,21 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@@ -36,9 +36,21 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@ -46,7 +58,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@@ -46,7 +58,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
// If no login page has been defined, add in the default page generator.
if(!StringUtils.hasText(loginPage)){
@ -68,11 +79,10 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@@ -68,11 +79,10 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@ -80,7 +90,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@@ -80,7 +90,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@ -88,8 +97,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@@ -88,8 +97,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
@ -48,54 +47,84 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
@@ -48,54 +47,84 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
@ -119,64 +148,56 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
@@ -119,64 +148,56 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
// Register the post processor which will tie up the loose ends in the configuration once the app context has been created and all beans are available.
@ -228,7 +249,7 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
@@ -228,7 +249,7 @@ public class HttpSecurityBeanDefinitionParser implements BeanDefinitionParser {
Stringfilters=urlElt.getAttribute(ATT_FILTERS);
if(StringUtils.hasText(filters)){
if(!filters.equals(NO_FILTERS_VALUE)){
if(!filters.equals(OPT_FILTERS_NONE)){
parserContext.getReaderContext().error("Currently only 'none' is supported as the custom "+
@ -63,16 +71,15 @@ public class RememberMeBeanDefinitionParser implements BeanDefinitionParser {
@@ -63,16 +71,15 @@ public class RememberMeBeanDefinitionParser implements BeanDefinitionParser {
## Defines the type of pattern used to specify URL paths (either JDK 1.4-compatible regular expressions, or Apache Ant expressions). Defaults to "ant" if unspecified.
attribute pathType {"ant" | "regex"}
port =
## Specifies an IP port number. Used to configure an embedded LDAP server, for example.
@ -22,11 +22,6 @@ url =
@@ -22,11 +22,6 @@ url =
## Specifies a URL.
attribute url { xsd:string }
autoconfig =
## Provides automatic security configration for a application
element autoconfig {autoconfig.attlist, empty}
autoconfig.attlist = empty
ldap =
## Sets up an ldap authentication provider, optionally with an embedded ldap server
## Automatically registers a login form, BASIC authentication, anonymous authentication, logout services and remember-me. If set to "true", all of these capabilities are added (although you can still customize the configuration of each by providing the respective element). If unspecified, defaults to "false".
attribute autoConfig {"true" | "false" }?
http.attlist &=
## Controls the eagerness with which an HTTP session is created. If not set, defaults to "ifRequired".
## Incorporates a logout processing filter. Most web applications require a logout filter, although you may not require one if you write a controller to provider similar logic.
## Specifies the URL that will cause a logout. Spring Security will initialize a filter that responds to this particular URL. Defaults to /j_spring_security_logout if unspecified.
## Used to explicitly configure a FilterChainProxy instance with a FilterChainMap
element filter-chain-map {filter-chain-map.attlist, filter-chain+}
filter-chain-map.attlist &=
path-type
pathType
filter-chain =
## Used within filter-chain-map to define a specific URL pattern and the list of filters which apply to the URLs matching that pattern. When multiple filter-chain elements are used within a filter-chain-map element, the most specific patterns must be placed at the top of the list, with most general ones at the bottom.
## The key used between the provider and filter. This generally does not need to be set. If unset, it will default to "doesNotMatter".
attribute key {xsd:string}?
anonymous.attlist &=
## The username that should be assigned to the anonymous request. This allows the principal to be identified, which may be important for logging and auditing.
## The username that should be assigned to the anonymous request. This allows the principal to be identified, which may be important for logging and auditing. if unset, defaults to "anonymousUser".
attribute username {xsd:string}?
anonymous.attlist &=
## The granted authority that should be assigned to the anonymous request. Commonly this is used to assign the anonymous request particular roles, which can subsequently be used in authorization decisions.
## The granted authority that should be assigned to the anonymous request. Commonly this is used to assign the anonymous request particular roles, which can subsequently be used in authorization decisions. If unset, defaults to "ROLE_ANONYMOUS".
attribute grantedAuthority {xsd:string}?
repository =
element repository {repository.attlist, (user-service | jdbc-user-service | custom-user-service)}
<xs:documentation>Defines the type types of pattern used to specify URL paths. Defaults to "ant"</xs:documentation>
<xs:documentation>Defines the type of pattern used to specify URL paths (either JDK 1.4-compatible regular expressions, or Apache Ant expressions). Defaults to "ant" if unspecified.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restrictionbase="xs:token">
<xs:enumerationvalue="regex"/>
<xs:enumerationvalue="ant"/>
<xs:enumerationvalue="regex"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
@ -28,12 +28,6 @@
@@ -28,12 +28,6 @@
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:elementname="autoconfig">
<xs:annotation>
<xs:documentation>Provides automatic security configration for a application</xs:documentation>
</xs:annotation>
<xs:complexType/>
</xs:element>
<xs:elementname="ldap">
<xs:annotation>
<xs:documentation>Sets up an ldap authentication provider, optionally with an embedded ldap server</xs:documentation>
<xs:documentation>Controls the eagerness with which an HTTP session is created.</xs:documentation>
<xs:documentation>Automatically registers a login form, BASIC authentication, anonymous authentication, logout services and remember-me. If set to "true", all of these capabilities are added (although you can still customize the configuration of each by providing the respective element). If unspecified, defaults to "false".</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restrictionbase="xs:token">
<xs:enumerationvalue="true"/>
<xs:enumerationvalue="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributename="createSession">
<xs:annotation>
<xs:documentation>Controls the eagerness with which an HTTP session is created. If not set, defaults to "ifRequired".</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restrictionbase="xs:token">
@ -121,18 +126,18 @@
@@ -121,18 +126,18 @@
</xs:attribute>
<xs:attributename="pathType">
<xs:annotation>
<xs:documentation>Defines the type types of pattern used to specify URL paths. Defaults to "ant"</xs:documentation>
<xs:documentation>Defines the type of pattern used to specify URL paths (either JDK 1.4-compatible regular expressions, or Apache Ant expressions). Defaults to "ant" if unspecified.</xs:documentation>
<xs:documentation>Whether test URLs should be converted to lower case prior to comparing with defined path patterns.</xs:documentation>
<xs:documentation>Whether test URLs should be converted to lower case prior to comparing with defined path patterns. If unspecified, defaults to "true".</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restrictionbase="xs:token">
@ -194,14 +199,28 @@
@@ -194,14 +199,28 @@
</xs:attribute>
</xs:attributeGroup>
<xs:elementname="logout">
<xs:annotation>
<xs:documentation>Incorporates a logout processing filter. Most web applications require a logout filter, although you may not require one if you write a controller to provider similar logic.</xs:documentation>
<xs:documentation>Specifies the URL that will cause a logout. Spring Security will initialize a filter that responds to this particular URL. Defaults to /j_spring_security_logout if unspecified.</xs:documentation>
<xs:documentation>Specifies the URL to display once the user has logged out. If not specified, defaults to /.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributename="invalidateSession">
<xs:annotation>
<xs:documentation>Specifies whether a logout also causes HttpSession invalidation, which is generally desirable. If unspecified, defaults to true.</xs:documentation>
<xs:documentation>The key used between the provider and filter. This generally does not need to be set.</xs:documentation>
<xs:documentation>The key used between the provider and filter. This generally does not need to be set. If unset, it will default to "doesNotMatter".</xs:documentation>
<xs:documentation>The username that should be assigned to the anonymous request. This allows the principal to be identified, which may be important for logging and auditing. </xs:documentation>
<xs:documentation>The username that should be assigned to the anonymous request. This allows the principal to be identified, which may be important for logging and auditing. if unset, defaults to "anonymousUser". </xs:documentation>
<xs:documentation>The granted authority that should be assigned to the anonymous request. Commonly this is used to assign the anonymous request particular roles, which can subsequently be used in authorization decisions.</xs:documentation>
<xs:documentation>The granted authority that should be assigned to the anonymous request. Commonly this is used to assign the anonymous request particular roles, which can subsequently be used in authorization decisions. If unset, defaults to "ROLE_ANONYMOUS".</xs:documentation>