org.springframework.security.config.spring-security-5.7.xsd Maven / Gradle / Ivy
The newest version!
Defines the hashing algorithm used on user passwords. Bcrypt is recommended.
Whether a string should be base64 encoded
Defines the strategy use for matching incoming requests. Currently the options are 'mvc'
(for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions
and 'ciRegex' for case-insensitive regular expressions.
Specifies an IP port number. Used to configure an embedded LDAP server, for example.
Specifies a URL.
A bean identifier, used for referring to the bean elsewhere in the context.
A bean identifier, used for referring to the bean elsewhere in the context.
Defines a reference to a Spring bean Id.
Defines a reference to a cache for use with a UserDetailsService.
A reference to a user-service (or UserDetailsService bean) Id
A reference to an AuthenticationManager bean
A reference to a DataSource bean
Enables Spring Security debugging infrastructure. This will provide human-readable
(multi-line) debugging information to monitor requests coming into the security filters.
This may include sensitive information, such as request parameters or headers, and should
only be used in a development environment.
Defines a reference to a Spring bean Id.
Defines the hashing algorithm used on user passwords. Bcrypt is recommended.
A non-empty string prefix that will be added to role strings loaded from persistent
storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is
non-empty.
Enables the use of expressions in the 'access' attributes in <intercept-url> elements
rather than the traditional list of configuration attributes. Defaults to 'true'. If
enabled, each attribute should contain a single boolean expression. If the expression
evaluates to 'true', access will be granted.
Defines an LDAP server location or starts an embedded server. The url indicates the
location of a remote server. If no url is given, an embedded server will be started,
listening on the supplied port number. The port is optional and defaults to 33389. A
Spring LDAP ContextSource bean will be registered for the server with the id supplied.
A bean identifier, used for referring to the bean elsewhere in the context.
Specifies a URL.
Specifies an IP port number. Used to configure an embedded LDAP server, for example.
Username (DN) of the "manager" user identity which will be used to authenticate to a
(non-embedded) LDAP server. If omitted, anonymous access will be used.
The password for the manager DN. This is required if the manager-dn is specified.
Explicitly specifies an ldif file resource to load into an embedded LDAP server. The
default is classpath*:*.ldiff
Optional root suffix for the embedded LDAP server. Default is "dc=springframework,dc=org"
Explicitly specifies which embedded ldap server should use. Values are 'apacheds' and
'unboundid'. By default, it will depends if the library is available in the classpath.
The optional server to use. If omitted, and a default LDAP server is registered (using
<ldap-server> with no Id), that server will be used.
Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN
of the user.
Search base for group membership searches. Defaults to "" (searching from the root).
The LDAP filter used to search for users (optional). For example "(uid={0})". The
substituted parameter is the user's login name.
Search base for user searches. Defaults to "". Only used with a 'user-search-filter'.
The LDAP attribute name which contains the role name which will be used within Spring
Security. Defaults to "cn".
Allows the objectClass of the user entry to be specified. If set, the framework will
attempt to load standard attributes for the defined class into the returned UserDetails
object
Allows explicit customization of the loaded user object by specifying a
UserDetailsContextMapper bean which will be called with the context information from the
user's directory entry
This element configures a LdapUserDetailsService which is a combination of a
FilterBasedLdapUserSearch and a DefaultLdapAuthoritiesPopulator.
A bean identifier, used for referring to the bean elsewhere in the context.
The optional server to use. If omitted, and a default LDAP server is registered (using
<ldap-server> with no Id), that server will be used.
The LDAP filter used to search for users (optional). For example "(uid={0})". The
substituted parameter is the user's login name.
Search base for user searches. Defaults to "". Only used with a 'user-search-filter'.
Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN
of the user.
Search base for group membership searches. Defaults to "" (searching from the root).
The LDAP attribute name which contains the role name which will be used within Spring
Security. Defaults to "cn".
Defines a reference to a cache for use with a UserDetailsService.
A non-empty string prefix that will be added to role strings loaded from persistent
storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is
non-empty.
Allows the objectClass of the user entry to be specified. If set, the framework will
attempt to load standard attributes for the defined class into the returned UserDetails
object
Allows explicit customization of the loaded user object by specifying a
UserDetailsContextMapper bean which will be called with the context information from the
user's directory entry
The optional server to use. If omitted, and a default LDAP server is registered (using
<ldap-server> with no Id), that server will be used.
Search base for user searches. Defaults to "". Only used with a 'user-search-filter'.
The LDAP filter used to search for users (optional). For example "(uid={0})". The
substituted parameter is the user's login name.
Search base for group membership searches. Defaults to "" (searching from the root).
Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN
of the user.
The LDAP attribute name which contains the role name which will be used within Spring
Security. Defaults to "cn".
A specific pattern used to build the user's DN, for example "uid={0},ou=people". The key
"{0}" must be present and will be substituted with the username.
A non-empty string prefix that will be added to role strings loaded from persistent
storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is
non-empty.
Allows the objectClass of the user entry to be specified. If set, the framework will
attempt to load standard attributes for the defined class into the returned UserDetails
object
Allows explicit customization of the loaded user object by specifying a
UserDetailsContextMapper bean which will be called with the context information from the
user's directory entry
The attribute in the directory which contains the user password. Defaults to
"userPassword".
Defines the hashing algorithm used on user passwords. Bcrypt is recommended.
Can be used inside a bean definition to add a security interceptor to the bean and set up
access configuration attributes for the bean's methods
Defines a protected method and the access control configuration attributes that apply to
it. We strongly advise you NOT to mix "protect" declarations with any services provided
"global-method-security".
Optional AccessDecisionManager bean ID to be used by the created method security
interceptor.
A method name
Access configuration attributes list that applies to the method, e.g. "ROLE_A,ROLE_B".
Creates a MethodSecurityMetadataSource instance
Defines a protected method and the access control configuration attributes that apply to
it. We strongly advise you NOT to mix "protect" declarations with any services provided
"global-method-security".
A bean identifier, used for referring to the bean elsewhere in the context.
Enables the use of expressions in the 'access' attributes in <intercept-url> elements
rather than the traditional list of configuration attributes. Defaults to 'true'. If
enabled, each attribute should contain a single boolean expression. If the expression
evaluates to 'true', access will be granted.
Provides method security for all beans registered in the Spring application context.
Specifically, beans will be scanned for matches with Spring Security annotations. Where
there is a match, the beans will automatically be proxied and security authorization
applied to the methods accordingly. Interceptors are invoked in the order specified in
AuthorizationInterceptorsOrder. Use can create your own interceptors using Spring AOP.
Defines the SecurityExpressionHandler instance which will be used if expression-based
access-control is enabled. A default implementation (with no ACL support) will be used if
not supplied.
Specifies whether the use of Spring Security's pre and post invocation annotations
(@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this
application context. Defaults to "true".
Specifies whether the use of Spring Security's @Secured annotations should be enabled for
this application context. Defaults to "false".
Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed").
This will require the javax.annotation.security classes on the classpath. Defaults to
"false".
If true, class-based proxying will be used instead of interface-based proxying.
Provides method security for all beans registered in the Spring application context.
Specifically, beans will be scanned for matches with the ordered list of
"protect-pointcut" sub-elements, Spring Security annotations and/or. Where there is a
match, the beans will automatically be proxied and security authorization applied to the
methods accordingly. If you use and enable all four sources of method security metadata
(ie "protect-pointcut" declarations, expression annotations, @Secured and also JSR250
security annotations), the metadata sources will be queried in that order. In practical
terms, this enables you to use XML to override method security metadata expressed in
annotations. If using annotations, the order of precedence is EL-based (@PreAuthorize
etc.), @Secured and finally JSR-250.
Allows the default expression-based mechanism for handling Spring Security's pre and post
invocation annotations (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) to be
replace entirely. Only applies if these annotations are enabled.
Defines the PrePostInvocationAttributeFactory instance which is used to generate pre and
post invocation metadata from the annotated methods.
Customizes the PreInvocationAuthorizationAdviceVoter with the ref as the
PreInvocationAuthorizationAdviceVoter for the <pre-post-annotation-handling> element.
Customizes the PostInvocationAdviceProvider with the ref as the
PostInvocationAuthorizationAdvice for the <pre-post-annotation-handling> element.
Defines the SecurityExpressionHandler instance which will be used if expression-based
access-control is enabled. A default implementation (with no ACL support) will be used if
not supplied.
Defines a protected pointcut and the access control configuration attributes that apply to
it. Every bean registered in the Spring application context that provides a method that
matches the pointcut will receive security authorization.
Allows addition of extra AfterInvocationProvider beans which should be called by the
MethodSecurityInterceptor created by global-method-security.
Specifies whether the use of Spring Security's pre and post invocation annotations
(@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this
application context. Defaults to "disabled".
Specifies whether the use of Spring Security's @Secured annotations should be enabled for
this application context. Defaults to "disabled".
Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed").
This will require the javax.annotation.security classes on the classpath. Defaults to
"disabled".
Optional AccessDecisionManager bean ID to override the default used for method security.
Optional RunAsmanager implementation which will be used by the configured
MethodSecurityInterceptor
Allows the advice "order" to be set for the method security interceptor.
If true, class based proxying will be used instead of interface based proxying.
Can be used to specify that AspectJ should be used instead of the default Spring AOP. If
set, secured classes must be woven with the AnnotationSecurityAspect from the
spring-security-aspects module.
An external MethodSecurityMetadataSource instance can be supplied which will take priority
over other sources (such as the default annotations).
A reference to an AuthenticationManager bean
An AspectJ expression, including the 'execution' keyword. For example, 'execution(int
com.foo.TargetObject.countLength(String))' (without the quotes).
Access configuration attributes list that applies to all methods matching the pointcut,
e.g. "ROLE_A,ROLE_B"
Allows securing a Message Broker. There are two modes. If no id is specified: ensures that
any SimpAnnotationMethodMessageHandler has the AuthenticationPrincipalArgumentResolver
registered as a custom argument resolver; ensures that the
SecurityContextChannelInterceptor is automatically registered for the
clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the
clientInboundChannel. If the id is specified, creates a ChannelSecurityInterceptor that
can be manually registered with the clientInboundChannel.
Defines the SecurityExpressionHandler instance which will be used if expression-based
access-control is enabled. A default implementation (with no ACL support) will be used if
not supplied.
A bean identifier, used for referring to the bean elsewhere in the context. If specified,
explicit configuration within clientInboundChannel is required. If not specified, ensures
that any SimpAnnotationMethodMessageHandler has the
AuthenticationPrincipalArgumentResolver registered as a custom argument resolver; ensures
that the SecurityContextChannelInterceptor is automatically registered for the
clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the
clientInboundChannel.
Disables the requirement for CSRF token to be present in the Stomp headers (default
false). Changing the default is useful if it is necessary to allow other origins to make
SockJS connections.
Creates an authorization rule for a websocket message.
The destination ant pattern which will be mapped to the access attribute. For example, /**
matches any message with a destination, /admin/** matches any message that has a
destination that starts with admin.
The access configuration attributes that apply for the configured message. For example,
permitAll grants access to anyone, hasRole('ROLE_ADMIN') requires the user have the role
'ROLE_ADMIN'.
The type of message to match on. Valid values are defined in SimpMessageType (i.e.
CONNECT, CONNECT_ACK, HEARTBEAT, MESSAGE, SUBSCRIBE, UNSUBSCRIBE, DISCONNECT,
DISCONNECT_ACK, OTHER).
Allows a custom instance of HttpFirewall to be injected into the FilterChainProxy created
by the namespace.
Container element for HTTP security configuration. Multiple elements can now be defined,
each with a specific pattern to which the enclosed security configuration applies. A
pattern can also be configured to bypass Spring Security's filters completely by setting
the "security" attribute to "none".
Specifies the access attributes and/or filter list for a particular set of URLs.
Defines the access-denied strategy that should be used. An access denied page can be
defined or a reference to an AccessDeniedHandler instance.
Sets up a form login configuration for authentication with a username and password
Sets up form login for authentication with an Open ID identity. NOTE: The OpenID 1.0 and
2.0 protocols have been deprecated and users are <a
href="https://openid.net/specs/openid-connect-migration-1_0.html">encouraged to
migrate</a> to <a href="https://openid.net/connect/">OpenID Connect</a>, which is
supported by <code>spring-security-oauth2</code>.
A reference to a user-service (or UserDetailsService bean) Id
Configures authentication support for SAML 2.0 Login
Configures SAML 2.0 Single Logout support
Adds support for X.509 client authentication.
Adds support for basic authentication
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.
Session-management related functionality is implemented by the addition of a
SessionManagementFilter to the filter stack.
Enables concurrent session control, limiting the number of authenticated sessions a user
may have at the same time.
Sets up remember-me authentication. If used with the "key" attribute (or no attributes)
the cookie-only implementation will be used. Specifying "token-repository-ref" or
"remember-me-data-source-ref" will use the more secure, persisten token approach.
Adds support for automatically granting all anonymous web requests a particular principal
identity and a corresponding granted authority.
Defines the list of mappings between http and https ports for use in redirects
Provides a method to map http ports to https ports when forcing a redirect.
Defines the SecurityExpressionHandler instance which will be used if expression-based
access-control is enabled. A default implementation (with no ACL support) will be used if
not supplied.
The request URL pattern which will be mapped to the filter chain created by this <http>
element. If omitted, the filter chain will match all requests.
When set to 'none', requests matching the pattern attribute will be ignored by Spring
Security. No security filters will be applied and no SecurityContext will be available. If
set, the <http> element must be empty, with no children.
Allows a RequestMatcher instance to be used, as an alternative to pattern-matching.
A legacy attribute which automatically registers a login form, BASIC authentication and a
logout URL and logout services. If unspecified, defaults to "false". We'd recommend you
avoid using this and instead explicitly configure the services you require.
Enables the use of expressions in the 'access' attributes in <intercept-url> elements
rather than the traditional list of configuration attributes. Defaults to 'true'. If
enabled, each attribute should contain a single boolean expression. If the expression
evaluates to 'true', access will be granted.
Controls the eagerness with which an HTTP session is created by Spring Security classes.
If not set, defaults to "ifRequired". If "stateless" is used, this implies that the
application guarantees that it will not create a session. This differs from the use of
"never" which means that Spring Security will not create a session, but will make use of
one if the application does.
A reference to a SecurityContextRepository bean. This can be used to customize how the
SecurityContext is stored between requests.
Optional attribute that specifies that the SecurityContext should require explicit saving
rather than being synchronized from the SecurityContextHolder. Defaults to "false".
Defines the strategy use for matching incoming requests. Currently the options are 'mvc'
(for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions
and 'ciRegex' for case-insensitive regular expressions.
Provides versions of HttpServletRequest security methods such as isUserInRole() and
getPrincipal() which are implemented by accessing the Spring SecurityContext. Defaults to
"true".
If available, runs the request as the Subject acquired from the JaasAuthenticationToken.
Defaults to "false".
Optional attribute specifying the ID of the AccessDecisionManager implementation which
should be used for authorizing HTTP requests.
Optional attribute specifying the realm name that will be used for all authentication
features that require a realm name (eg BASIC and Digest authentication). If unspecified,
defaults to "Spring Security Application".
Allows a customized AuthenticationEntryPoint to be set on the ExceptionTranslationFilter.
Corresponds to the observeOncePerRequest property of FilterSecurityInterceptor. Defaults
to "true"
Prevents the jsessionid parameter from being added to rendered URLs. Defaults to "true"
(rewriting is disabled).
A bean identifier, used for referring to the bean elsewhere in the context.
A reference to an AuthenticationManager bean
Defines a reference to a Spring bean Id.
The access denied page that an authenticated user will be redirected to if they request a
page which they don't have the authority to access.
The access denied page that an authenticated user will be redirected to if they request a
page which they don't have the authority to access.
The request URL pattern which will be mapped to the FilterChain.
Allows a RequestMatcher instance to be used, as an alternative to pattern-matching.
The access configuration attributes that apply for the configured path.
The HTTP Method for which the access configuration attributes should apply. If not
specified, the attributes will apply to any method.
Used to specify that a URL must be accessed over http or https, or that there is no
preference. The value should be "http", "https" or "any", respectively.
The path to the servlet. This attribute is only applicable when 'request-matcher' is
'mvc'. In addition, the value is only required in the following 2 use cases: 1) There are
2 or more HttpServlet's registered in the ServletContext that have mappings starting with
'/' and are different; 2) The pattern starts with the same value of a registered
HttpServlet path, excluding the default (root) HttpServlet '/'.
Specifies the URL that will cause a logout. Spring Security will initialize a filter that
responds to this particular URL. Defaults to /logout if unspecified.
Specifies the URL to display once the user has logged out. If not specified, defaults to
<form-login-login-page>/?logout (i.e. /login?logout).
Specifies whether a logout also causes HttpSession invalidation, which is generally
desirable. If unspecified, defaults to true.
A reference to a LogoutSuccessHandler implementation which will be used to determine the
destination to which the user is taken after logging out.
A comma-separated list of the names of cookies which should be deleted when the user logs
out
Allow the RequestCache used for saving requests during the login process to be set
The URL that the login form is posted to. If unspecified, it defaults to /login.
The name of the request parameter which contains the username. Defaults to 'username'.
The name of the request parameter which contains the password. Defaults to 'password'.
The URL that will be redirected to after successful authentication, if the user's previous
action could not be resumed. This generally happens if the user visits a login page
without having first requested a secured operation that triggers authentication. If
unspecified, defaults to the root of the application.
Whether the user should always be redirected to the default-target-url after login.
The URL for the login page. If no login URL is specified, Spring Security will
automatically create a login URL at GET /login and a corresponding filter to render that
login URL when requested.
The URL for the login failure page. If no login failure URL is specified, Spring Security
will automatically create a failure login URL at /login?error and a corresponding filter
to render that login failure URL when requested.
Reference to an AuthenticationSuccessHandler bean which should be used to handle a
successful authentication request. Should not be used in combination with
default-target-url (or always-use-default-target-url) as the implementation should always
deal with navigation to the subsequent destination
Reference to an AuthenticationFailureHandler bean which should be used to handle a failed
authentication request. Should not be used in combination with authentication-failure-url
as the implementation should always deal with navigation to the subsequent destination
Reference to an AuthenticationDetailsSource which will be used by the authentication
filter
The URL for the ForwardAuthenticationFailureHandler
The URL for the ForwardAuthenticationSuccessHandler
Configures authentication support using an OAuth 2.0 and/or OpenID Connect 1.0 Provider.
Reference to the ClientRegistrationRepository
Reference to the OAuth2AuthorizedClientRepository
Reference to the OAuth2AuthorizedClientService
Reference to the AuthorizationRequestRepository
Reference to the OAuth2AuthorizationRequestResolver
Reference to the OAuth2AccessTokenResponseClient
Reference to the GrantedAuthoritiesMapper
Reference to the OAuth2UserService
Reference to the OpenID Connect OAuth2UserService
The URI where the filter processes authentication requests
The URI to send users to login
Reference to the AuthenticationSuccessHandler
Reference to the AuthenticationFailureHandler
Reference to the JwtDecoderFactory used by OidcAuthorizationCodeAuthenticationProvider
Configures OAuth 2.0 Client support.
Reference to the ClientRegistrationRepository
Reference to the OAuth2AuthorizedClientRepository
Reference to the OAuth2AuthorizedClientService
Configures OAuth 2.0 Authorization Code Grant.
Reference to the AuthorizationRequestRepository
Reference to the OAuth2AuthorizationRequestResolver
Reference to the OAuth2AccessTokenResponseClient
Container element for client(s) registered with an OAuth 2.0 or OpenID Connect 1.0
Provider.
Represents a client registered with an OAuth 2.0 or OpenID Connect 1.0 Provider.
The ID that uniquely identifies the client registration.
The client identifier.
The client secret.
The method used to authenticate the client with the provider. The supported values are
client_secret_basic, client_secret_post and none (public clients).
The OAuth 2.0 Authorization Framework defines four Authorization Grant types. The
supported values are authorization_code, client_credentials, password and implicit.
The client’s registered redirect URI that the Authorization Server redirects the
end-user’s user-agent to after the end-user has authenticated and authorized access to the
client.
A comma-separated list of scope(s) requested by the client during the Authorization
Request flow, such as openid, email, or profile.
A descriptive name used for the client. The name may be used in certain scenarios, such as
when displaying the name of the client in the auto-generated login page.
A reference to the associated provider. May reference a 'provider' element or use one of
the common providers (google, github, facebook, okta).
The configuration information for an OAuth 2.0 or OpenID Connect 1.0 Provider.
The ID that uniquely identifies the provider.
The Authorization Endpoint URI for the Authorization Server.
The Token Endpoint URI for the Authorization Server.
The UserInfo Endpoint URI used to access the claims/attributes of the authenticated
end-user.
The authentication method used when sending the access token to the UserInfo Endpoint. The
supported values are header, form and query.
The name of the attribute returned in the UserInfo Response that references the Name or
Identifier of the end-user.
The URI used to retrieve the JSON Web Key (JWK) Set from the Authorization Server, which
contains the cryptographic key(s) used to verify the JSON Web Signature (JWS) of the ID
Token and optionally the UserInfo Response.
The URI used to discover the configuration information for an OAuth 2.0 or OpenID Connect
1.0 Provider.
Configures authentication support as an OAuth 2.0 Resource Server.
Reference to an AuthenticationManagerResolver
Reference to a BearerTokenResolver
Reference to a AuthenticationEntryPoint
Configures JWT authentication
The URI to use to collect the JWK Set for verifying JWTs
Reference to a JwtDecoder
Reference to a Converter<Jwt, AbstractAuthenticationToken>
Configuration Opaque Token authentication
The URI to use to introspect opaque token attributes
The Client ID to use to authenticate the introspection request
The Client secret to use to authenticate the introspection request
Reference to an OpaqueTokenIntrospector
Sets up an attribute exchange configuration to request specified attributes from the
OpenID identity provider. When multiple elements are used, each must have an
identifier-attribute attribute. Each configuration will be matched in turn against the
supplied login identifier until a match is found.
A regular expression which will be compared against the claimed identity, when deciding
which attribute-exchange configuration to use during authentication.
Attributes used when making an OpenID AX Fetch Request. NOTE: The OpenID 1.0 and 2.0
protocols have been deprecated and users are <a
href="https://openid.net/specs/openid-connect-migration-1_0.html">encouraged to
migrate</a> to <a href="https://openid.net/connect/">OpenID Connect</a>, which is
supported by <code>spring-security-oauth2</code>.
Specifies the name of the attribute that you wish to get back. For example, email.
Specifies the attribute type. For example, https://axschema.org/contact/email. See your
OP's documentation for valid attribute types.
Specifies if this attribute is required to the OP, but does not error out if the OP does
not return the attribute. Default is false.
Specifies the number of attributes that you wish to get back. For example, return 3
emails. The default value is 1.
Reference to the RelyingPartyRegistrationRepository
Reference to the Saml2AuthenticationRequestRepository
Reference to the Saml2AuthenticationRequestResolver
Reference to the AuthenticationConverter
The URI where the filter processes authentication requests
The URI to send users to login
Reference to the AuthenticationSuccessHandler
Reference to the AuthenticationFailureHandler
Reference to the AuthenticationManager
The URL by which the relying or asserting party can trigger logout
The URL by which the asserting party can send a SAML 2.0 Logout Request
The URL by which the asserting party can send a SAML 2.0 Logout Response
Reference to the RelyingPartyRegistrationRepository
Reference to the Saml2LogoutRequestValidator
Reference to the Saml2LogoutRequestResolver
Reference to the Saml2LogoutRequestRepository
Reference to the Saml2LogoutResponseValidator
Reference to the Saml2LogoutResponseResolver
Container element for relying party(ies) registered with a SAML 2.0 identity provider
Represents a relying party registered with a SAML 2.0 identity provider
The ID that uniquely identifies the relying party registration.
The location of the Identity Provider's metadata.
The relying party's EntityID
The Assertion Consumer Service Location
The Assertion Consumer Service Binding
A reference to the associated asserting party.
The relying party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Location</a>
The relying party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Response Location</a>
The relying party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Binding</a>
The relying party's signing credential
The private key location
The certificate location
The relying party's decryption credential
The private key location
The certificate location
The configuration metadata of the Asserting party
A unique identifier of the asserting party.
The asserting party's EntityID.
Indicates the asserting party's preference that relying parties should sign the
AuthnRequest before sending
The <a
href="https://www.oasis-open.org/committees/download.php/51890/SAML%20MD%20simplified%20overview.pdf#2.5%20Endpoint">SingleSignOnService</a>
Location.
The <a
href="https://www.oasis-open.org/committees/download.php/51890/SAML%20MD%20simplified%20overview.pdf#2.5%20Endpoint">SingleSignOnService</a>
Binding.
A comma separated list of org.opensaml.saml.ext.saml2alg.SigningMethod Algorithms for this
asserting party, in preference order.
The asserting party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Location</a>
The asserting party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Response Location</a>
The asserting party <a
href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService
Binding</a>
The relying party's verification credential
The private key location
The certificate location
The asserting party's encryption credential
The private key location
The certificate location
Used to explicitly configure a FilterChainProxy instance with a FilterChainMap
Defines the strategy use for matching incoming requests. Currently the options are 'mvc'
(for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions
and 'ciRegex' for case-insensitive regular expressions.
Used within 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 assembled in a list in
order to configure a FilterChainProxy, the most specific patterns must be placed at the
top of the list, with most general ones at the bottom.
The request URL pattern which will be mapped to the FilterChain.
Allows a RequestMatcher instance to be used, as an alternative to pattern-matching.
A comma separated list of bean names that implement Filter that should be processed for
this FilterChain. If the value is none, then no Filters will be used for this FilterChain.
The request URL pattern which will be mapped to the FilterChain.
Allows a RequestMatcher instance to be used, as an alternative to pattern-matching.
Used to explicitly configure a FilterSecurityMetadataSource bean for use with a
FilterSecurityInterceptor. Usually only needed if you are configuring a FilterChainProxy
explicitly, rather than using the <http> element. The intercept-url elements used should
only contain pattern, method and access attributes. Any others will result in a
configuration error.
Specifies the access attributes and/or filter list for a particular set of URLs.
Enables the use of expressions in the 'access' attributes in <intercept-url> elements
rather than the traditional list of configuration attributes. Defaults to 'true'. If
enabled, each attribute should contain a single boolean expression. If the expression
evaluates to 'true', access will be granted.
A bean identifier, used for referring to the bean elsewhere in the context.
Defines the strategy use for matching incoming requests. Currently the options are 'mvc'
(for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions
and 'ciRegex' for case-insensitive regular expressions.
Sets the AuthenticationEntryPoint which is used by the BasicAuthenticationFilter.
Reference to an AuthenticationDetailsSource which will be used by the authentication
filter
Adds support for the password management.
The change password page. Defaults to "/change-password".
Indicates how session fixation protection will be applied when a user authenticates. If
set to "none", no protection will be applied. "newSession" will create a new empty
session, with only Spring Security-related attributes migrated. "migrateSession" will
create a new session and copy all session attributes to the new session. In Servlet 3.1
(Java EE 7) and newer containers, specifying "changeSessionId" will keep the existing
session and use the container-supplied session fixation protection
(HttpServletRequest#changeSessionId()). Defaults to "changeSessionId" in Servlet 3.1 and
newer containers, "migrateSession" in older containers. Throws an exception if
"changeSessionId" is used in older containers.
The URL to which a user will be redirected if they submit an invalid session indentifier.
Typically used to detect session timeouts.
Allows injection of the InvalidSessionStrategy instance used by the
SessionManagementFilter
Allows injection of the SessionAuthenticationStrategy instance used by the
SessionManagementFilter
Defines the URL of the error page which should be shown when the
SessionAuthenticationStrategy raises an exception. If not set, an unauthorized (401) error
code will be returned to the client. Note that this attribute doesn't apply if the error
occurs during a form-based login, where the URL for authentication failure will take
precedence.
The maximum number of sessions a single authenticated user can have open at the same time.
Defaults to "1". A negative value denotes unlimited sessions.
The URL a user will be redirected to if they attempt to use a session which has been
"expired" because they have logged in again.
Allows injection of the SessionInformationExpiredStrategy instance used by the
ConcurrentSessionFilter
Specifies that an unauthorized error should be reported when a user attempts to login when
they already have the maximum configured sessions open. The default behaviour is to expire
the original session. If the session-authentication-error-url attribute is set on the
session-management URL, the user will be redirected to this URL.
Allows you to define an alias for the SessionRegistry bean in order to access it in your
own configuration.
Allows you to define an external SessionRegistry bean to be used by the concurrency
control setup.
The "key" used to identify cookies from a specific token-based remember-me application.
You should set this to a unique value for your application. If unset, it will default to a
random value generated by SecureRandom.
Reference to a PersistentTokenRepository bean for use with the persistent token
remember-me implementation.
A reference to a DataSource bean
A reference to a user-service (or UserDetailsService bean) Id
Exports the internally defined RememberMeServices as a bean alias, allowing it to be used
by other beans in the application context.
Determines whether the "secure" flag will be set on the remember-me cookie. If set to
true, the cookie will only be submitted over HTTPS (recommended). By default, secure
cookies will be used if the request is made on a secure connection.
The period (in seconds) for which the remember-me cookie should be valid.
Reference to an AuthenticationSuccessHandler bean which should be used to handle a
successful remember-me authentication.
The name of the request parameter which toggles remember-me authentication. Defaults to
'remember-me'.
The name of cookie which store the token for remember-me authentication. Defaults to
'remember-me'.
Reference to a PersistentTokenRepository bean for use with the persistent token
remember-me implementation.
Allows a custom implementation of RememberMeServices to be used. Note that this
implementation should return RememberMeAuthenticationToken instances with the same "key"
value as specified in the remember-me element. Alternatively it should register its own
AuthenticationProvider. It should also implement the LogoutHandler interface, which will
be invoked when a user logs out. Typically the remember-me cookie would be removed on
logout.
The key shared between the provider and filter. This generally does not need to be set. If
unset, it will default to a random value generated by SecureRandom.
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".
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".
With the default namespace setup, the anonymous "authentication" facility is automatically
enabled. You can disable it using this property.
The http port to use.
The https port to use.
The regular expression used to obtain the username from the certificate's subject.
Defaults to matching on the common name using the pattern "CN=(.*?),".
A reference to a user-service (or UserDetailsService bean) Id
Reference to an AuthenticationDetailsSource which will be used by the authentication
filter
Adds a J2eePreAuthenticatedProcessingFilter to the filter chain to provide integration
with container authentication.
A comma-separate list of roles to look for in the incoming HttpServletRequest.
A reference to a user-service (or UserDetailsService bean) Id
Registers the AuthenticationManager instance and allows its list of
AuthenticationProviders to be defined. Also allows you to define an alias to allow you to
reference the AuthenticationManager in your own beans.
Indicates that the contained user-service should be used as an authentication source.
element which defines a password encoding strategy. Used by an authentication provider to
convert submitted passwords to hashed versions, for example.
Sets up an ldap authentication provider
Specifies that an LDAP provider should use an LDAP compare operation of the user's
password to authenticate the user
element which defines a password encoding strategy. Used by an authentication provider to
convert submitted passwords to hashed versions, for example.
A bean identifier, used for referring to the bean elsewhere in the context.
An alias you wish to use for the AuthenticationManager bean (not required it you are using
a specific id)
If set to true, the AuthenticationManger will attempt to clear any credentials data in the
returned Authentication object, once the user has been authenticated.
Defines a reference to a Spring bean Id.
A reference to a user-service (or UserDetailsService bean) Id
Creates an in-memory UserDetailsService from a properties file or a list of "user" child
elements. Usernames are converted to lower-case internally to allow for case-insensitive
lookups, so this should not be used if case-sensitivity is required.
Represents a user in the application.
A bean identifier, used for referring to the bean elsewhere in the context.
The location of a Properties file where each line is in the format of
username=password,grantedAuthority[,grantedAuthority][,enabled|disabled]
The username assigned to the user.
The password assigned to the user. This may be hashed if the corresponding authentication
provider supports hashing (remember to set the "hash" attribute of the "user-service"
element). This attribute be omitted in the case where the data will not be used for
authentication, but only for accessing authorities. If omitted, the namespace will
generate a random value, preventing its accidental use for authentication. Cannot be
empty.
One of more authorities granted to the user. Separate authorities with a comma (but no
space). For example, "ROLE_USER,ROLE_ADMINISTRATOR"
Can be set to "true" to mark an account as locked and unusable.
Can be set to "true" to mark an account as disabled and unusable.
Causes creation of a JDBC-based UserDetailsService.
A bean identifier, used for referring to the bean elsewhere in the context.
The bean ID of the DataSource which provides the required tables.
Defines a reference to a cache for use with a UserDetailsService.
An SQL statement to query a username, password, and enabled status given a username.
Default is "select username,password,enabled from users where username = ?"
An SQL statement to query for a user's granted authorities given a username. The default
is "select username, authority from authorities where username = ?"
An SQL statement to query user's group authorities given a username. The default is
"select g.id, g.group_name, ga.authority from groups g, group_members gm,
group_authorities ga where gm.username = ? and g.id = ga.group_id and g.id = gm.group_id"
A non-empty string prefix that will be added to role strings loaded from persistent
storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is
non-empty.
Element for configuration of the CsrfFilter for protection against CSRF. It also updates
the default RequestCache to only replay "GET" requests.
Specifies if csrf protection should be disabled. Default false (i.e. CSRF protection is
enabled).
The RequestMatcher instance to be used to determine if CSRF should be applied. Default is
any HTTP method except "GET", "TRACE", "HEAD", "OPTIONS"
The CsrfTokenRepository to use. The default is HttpSessionCsrfTokenRepository wrapped by
LazyCsrfTokenRepository.
Element for configuration of the HeaderWritersFilter. Enables easy setting for the
X-Frame-Options, X-XSS-Protection and X-Content-Type-Options headers.
Specifies if the default headers should be disabled. Default false.
Specifies if headers should be disabled. Default false.
Adds support for HTTP Strict Transport Security (HSTS)
Specifies if HTTP Strict Transport Security (HSTS) should be disabled. Default false.
Specifies if subdomains should be included. Default true.
Specifies the maximum amount of time the host should be considered a Known HSTS Host.
Default one year.
The RequestMatcher instance to be used to determine if the header should be set. Default
is if HttpServletRequest.isSecure() is true.
Specifies if preload should be included. Default false.
Element for configuration of CorsFilter. If no CorsFilter or CorsConfigurationSource is
specified a HandlerMappingIntrospector is used as the CorsConfigurationSource
Defines a reference to a Spring bean Id.
Specifies a bean id that is a CorsConfigurationSource used to construct the CorsFilter to
use
Adds support for HTTP Public Key Pinning (HPKP).
The list with pins
A pin is specified using the base64-encoded SPKI fingerprint as value and the
cryptographic hash algorithm as attribute
The cryptographic hash algorithm
Specifies if HTTP Public Key Pinning (HPKP) should be disabled. Default false.
Specifies if subdomains should be included. Default false.
Sets the value for the max-age directive of the Public-Key-Pins header. Default 60 days.
Specifies if the browser should only report pin validation failures. Default true.
Specifies the URI to which the browser should report pin validation failures.
Adds support for Content Security Policy (CSP)
The security policy directive(s) for the Content-Security-Policy header or if report-only
is set to true, then the Content-Security-Policy-Report-Only header is used.
Set to true, to enable the Content-Security-Policy-Report-Only header for reporting policy
violations only. Defaults to false.
Adds support for Referrer Policy
The policies for the Referrer-Policy header.
Adds support for Feature Policy
The security policy directive(s) for the Feature-Policy header.
Adds support for Permissions Policy
The policies for the Permissions-Policy header.
Adds Cache-Control no-cache, no-store, must-revalidate, Pragma no-cache, and Expires 0 for
every request
Specifies if Cache Control should be disabled. Default false.
Enable basic clickjacking support for newer browsers (IE8+), will set the X-Frame-Options
header.
If disabled, the X-Frame-Options header will not be included. Default false.
Specify the policy to use for the X-Frame-Options-Header.
Specify the strategy to use when ALLOW-FROM is chosen.
Defines a reference to a Spring bean Id.
Specify a value to use for the chosen strategy.
Specify the request parameter to use for the origin when using a 'whitelist' or 'regexp'
based strategy. Default is 'from'. Deprecated ALLOW-FROM is an obsolete directive that no
longer works in modern browsers. Instead use Content-Security-Policy with the <a
href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors">frame-ancestors</a>
directive.
Enable basic XSS browser protection, supported by newer browsers (IE8+), will set the
X-XSS-Protection header.
disable the X-XSS-Protection header. Default is 'false' meaning it is enabled.
specify that XSS Protection should be explicitly enabled or disabled. Default is 'true'
meaning it is enabled.
Add mode=block to the header or not, default is on.
Add a X-Content-Type-Options header to the resopnse. Value is always 'nosniff'.
If disabled, the X-Content-Type-Options header will not be included. Default false.
Adds support for Cross-Origin-Opener-Policy header
The policies for the Cross-Origin-Opener-Policy header.
Adds support for Cross-Origin-Embedder-Policy header
The policies for the Cross-Origin-Embedder-Policy header.
Adds support for Cross-Origin-Resource-Policy header
The policies for the Cross-Origin-Resource-Policy header.
Add additional headers to the response.
The name of the header to add.
The value for the header.
Defines a reference to a Spring bean Id.
Used to indicate that a filter bean declaration should be incorporated into the security
filter chain.
The filter immediately after which the custom-filter should be placed in the chain. This
feature will only be needed by advanced users who wish to mix their own filters into the
security filter chain and have some knowledge of the standard Spring Security filters. The
filter names map to specific Spring Security implementation filters.
The filter immediately before which the custom-filter should be placed in the chain
The explicit position at which the custom-filter should be placed in the chain. Use if you
are replacing a standard filter.
The filter immediately after which the custom-filter should be placed in the chain. This
feature will only be needed by advanced users who wish to mix their own filters into the
security filter chain and have some knowledge of the standard Spring Security filters. The
filter names map to specific Spring Security implementation filters.
The filter immediately before which the custom-filter should be placed in the chain
The explicit position at which the custom-filter should be placed in the chain. Use if you
are replacing a standard filter.