NOTE: The Groovy code that automated most of this is attached to SEC-1545
A mapping of Missing Key to the file that the key is found are as follows:
----------../core/src/main/resources/org/springframework/security/messages_cs_CZ.properties----------
JdbcDaoImpl.noAuthority=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
JdbcDaoImpl.notFound=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_de.properties----------
JdbcDaoImpl.noAuthority=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
JdbcDaoImpl.notFound=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_it.properties----------
JdbcDaoImpl.noAuthority=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
JdbcDaoImpl.notFound=[../core/src/main/java/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.java]
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_ko_KR.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_pl.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_pt_BR.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_pt_PT.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_uk_UA.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
----------../core/src/main/resources/org/springframework/security/messages_zh_CN.properties----------
PersistentTokenBasedRememberMeServices.cookieStolen=[../web/src/main/java/org/springframework/security/web/authentication/rememberme/PersistentTokenBasedRememberMeServices.java]
How unknown keys were gussed by existing keys
----------../core/src/main/resources/org/springframework/security/messages_cs_CZ.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using SwitchUserProcessingFilter.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using AbstractUserDetailsAuthenticationProvider.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using SwitchUserProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_de.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using SwitchUserProcessingFilter.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using AbstractUserDetailsAuthenticationProvider.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using SwitchUserProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_es_ES.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_fr.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_it.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using SwitchUserProcessingFilter.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using AbstractUserDetailsAuthenticationProvider.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_ko_KR.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_pl.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_pt_BR.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_pt_PT.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_uk_UA.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
----------../core/src/main/resources/org/springframework/security/messages_zh_CN.properties----------
AccountStatusUserDetailsChecker.credentialsExpired was guessed using UserDetailsService.credentialsExpired
AccountStatusUserDetailsChecker.disabled was guessed using UserDetailsService.disabled
AccountStatusUserDetailsChecker.expired was guessed using SwitchUserProcessingFilter.expired
AccountStatusUserDetailsChecker.locked was guessed using AbstractUserDetailsAuthenticationProvider.locked
AclEntryAfterInvocationProvider.noPermission was guessed using BasicAclEntryAfterInvocationProvider.noPermission
BindAuthenticator.emptyPassword was guessed using LdapAuthenticationProvider.emptyPassword
ConcurrentSessionControlStrategy.exceededAllowed was guessed using ConcurrentSessionControllerImpl.exceededAllowed
DigestAuthenticationFilter.incorrectRealm was guessed using DigestProcessingFilter.incorrectRealm
DigestAuthenticationFilter.incorrectResponse was guessed using DigestProcessingFilter.incorrectResponse
DigestAuthenticationFilter.missingAuth was guessed using DigestProcessingFilter.missingAuth
DigestAuthenticationFilter.missingMandatory was guessed using DigestProcessingFilter.missingMandatory
DigestAuthenticationFilter.nonceCompromised was guessed using DigestProcessingFilter.nonceCompromised
DigestAuthenticationFilter.nonceEncoding was guessed using DigestProcessingFilter.nonceEncoding
DigestAuthenticationFilter.nonceExpired was guessed using DigestProcessingFilter.nonceExpired
DigestAuthenticationFilter.nonceNotNumeric was guessed using DigestProcessingFilter.nonceNotNumeric
DigestAuthenticationFilter.nonceNotTwoTokens was guessed using DigestProcessingFilter.nonceNotTwoTokens
DigestAuthenticationFilter.usernameNotFound was guessed using DigestProcessingFilter.usernameNotFound
LdapAuthenticationProvider.badCredentials was guessed using PasswordComparisonAuthenticator.badCredentials
LdapAuthenticationProvider.onlySupports was guessed using AbstractUserDetailsAuthenticationProvider.onlySupports
SubjectDnX509PrincipalExtractor.noMatching was guessed using DaoX509AuthoritiesPopulator.noMatching
SwitchUserFilter.noCurrentUser was guessed using SwitchUserProcessingFilter.noCurrentUser
SwitchUserFilter.noOriginalAuthentication was guessed using SwitchUserProcessingFilter.noOriginalAuthentication
Adds a J2eePreAuthenticatedProcessingFilter to the stack, using a SimpleAttributes2GrantedAuthoritiesMapper to process the role attributes defined in the "mappable-roles" attribute. Provider uses a PreAuthenticatedGrantedAuthoritiesUserDetailsService by default.
This prevents situations where other data may have changed when a User object is reloaded (during a subsequent authentication attempt, in which case and Set.contains()/Map.containsKey() will return false even though the collection in question contains a principal representing the same user.
ExpressionHandlers are now ApplicationContextAware and set the app context on the SecurityExpressionRoot. A custom PropertyAccessor resolves the properties against the root by looking them up in the app context.
Changed to use AopUtils.getMostSpecificMethod() when obtaining the method on which the parameter resolution should be performed. Also added better error handling and log warning when parameter names cannot be resolved. The exception will then be a SpEL one, rather than a NPE.
It is still required as a compile-time dependency by classes which use Spring's JDBC support, but it doesn't really have to be used in many interfaces and classes which are not necessarily backed by JDBC implementations.
It now votes to abstain if there are no Jsr250 attributes present. If any are found, it will either deny or grant access. For multiple "RoleAllowed" attributes, access will be granted if any user authority matches or denied if no match is found.
Also deprecated the existing AspectJ interceptors. This will also allow future simplification of the AbstractMethodSecurityMetadataSource, as it no longer needs to support JoinPoints.
This is used by DefaultMethodSecurityExpressionHandler to allow permissions to be cached before repeatedly evaluating an expression for a collection of domain objects.
MethodSecurityMetadataSourceAdvisor now takes the SecurityMetadataSource bean name as an extra constructor argument and re-obtains the bean from the BeanFactory in its readObject method. Beans that are advised using <global-method-security> should therefore now be serializable.
If the principal has no sessions, null is returned which contradicts the interface contract. In practice it didn't matter as the null was checked for, but it is cleaner to disallow a null value.
SEC-999: Added getExpressionParser() method to the security handler interface to allow both web and method expression security to obtain a suitable parser from the configuration for parsing their expression attributes.
http://jira.springframework.org/browse/SEC-1023.
hasPermission() now delegates to a PermissionEvaluator interface, with a default implementation provided by the Acl module. The contacts sample now uses expressions on the ContactManager interface. The permission-evaluator element on global-method-security can be used to set the instance to an AclPermissionEvaluator. If not set, all hasPermission() expressions will evaluate to 'false'.
http://jira.springframework.org/browse/SEC-960. Replaced call to toUrl() with toString() to prevent URL encoding when setting up principal name for reconnect() in changePassword() method.
http://jira.springframework.org/browse/SEC-936. Changed to check if the value of MethodInvocation.getThis() is null to prevent NPE. MapBasedMethodDefinitionSource now ignores calls to findAttributes() with a null target class (all its entries require a class) and the fallback option in AbstractFallbackMethodDefinitionSource is used if the targetClass is null (i.e. Method.getDeclaringClass() will be used as the Class)
http://jira.springframework.org/browse/SEC-953. Added stripQueryStringFromUrls parameter to FilterChainProxy which works the same as the one on DefaultFilterInvocationDefinitionSource. This defaults to true when used with ant path matching.
http://jira.springframework.org/browse/SEC-941. Changed LdapUtils.parseRootDnFromUrl to use URI.getRawPath() so the returned root value still contains the escaping. I think this should be Ok.
http://jira.springframework.org/browse/SEC-933. Removed the setting of the attributeSource field from the interceptor in MethodDefinitionSourceAdvisor as this was overwriting the version supplied with the constructor with null (causing the NPE).
Also implemented lazy initialization of the authentication provider list from the bean factory in a custom NamespaceAuthenticationManager (extends ProviderManager and introspects the BeanFactory when getProviders() is first called). This should prevent the perennial problem of the eager initialization of UserDetailsService and other beans when the interceptor is eagerly initialized by something like aspectj-autoproxy.
http://jira.springframework.org/browse/SEC-909. HttpSecurityBeanDefinitionParser now passes the resolved RememberMeServices bean name to the LogoutBeanDefinitionparser so that it an use it explicitly.
http://jira.springframework.org/browse/SEC-924. Delayed setting of NullRememberMeServices in AbstractProcessingFilter until afterPropertiesSet method is called, allowing the null value to be read by the namespace and the confgiured RememberMeServices bean injected.
http://jira.springframework.org/browse/SEC-834. Modified HttpSecurityBDP to add session-fixation parameters to openId and form-login filters. Also added sessionRegistry property to AbstractProcessingFilter so that it doesn't conflict with concurrent session control.
http://jira.springframework.org/browse/SEC-834. Changed position of SessionFixationProtectionFilter and modified it to make a decision about whether authentication has taken place prior to calling doFilter(). Previously it did this on the return through the filter chain, which caused the problem described in this issue.
http://jira.springframework.org/browse/SEC-826 Moved all injection post-processing to BeanPostProcessors (and deleted bean factory post-processor) to prevent early instantiation problems. Beas should now all be instantiated before the injection takes place.