mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-28 23:02:15 +00:00
SEC-641: Updated to set "source" values on BeanDefinitions where possible.
This commit is contained in:
parent
8859034d11
commit
b82fbb698d
@ -32,11 +32,13 @@ public class AnonymousBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
String grantedAuthority = null;
|
String grantedAuthority = null;
|
||||||
String username = null;
|
String username = null;
|
||||||
String key = null;
|
String key = null;
|
||||||
|
Object source = null;
|
||||||
|
|
||||||
if (element != null) {
|
if (element != null) {
|
||||||
grantedAuthority = element.getAttribute(ATT_GRANTED_AUTHORITY);
|
grantedAuthority = element.getAttribute(ATT_GRANTED_AUTHORITY);
|
||||||
username = element.getAttribute(ATT_USERNAME);
|
username = element.getAttribute(ATT_USERNAME);
|
||||||
key = element.getAttribute(ATT_KEY);
|
key = element.getAttribute(ATT_KEY);
|
||||||
|
source = parserContext.extractSource(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!StringUtils.hasText(grantedAuthority)) {
|
if (!StringUtils.hasText(grantedAuthority)) {
|
||||||
@ -51,12 +53,15 @@ public class AnonymousBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
key = DEF_KEY;
|
key = DEF_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
BeanDefinition filter = new RootBeanDefinition(AnonymousProcessingFilter.class);
|
RootBeanDefinition filter = new RootBeanDefinition(AnonymousProcessingFilter.class);
|
||||||
|
|
||||||
|
filter.setSource(source);
|
||||||
filter.getPropertyValues().addPropertyValue("userAttribute", username + "," + grantedAuthority);
|
filter.getPropertyValues().addPropertyValue("userAttribute", username + "," + grantedAuthority);
|
||||||
filter.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
filter.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
||||||
|
|
||||||
BeanDefinition authManager = ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
BeanDefinition authManager = ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
||||||
BeanDefinition provider = new RootBeanDefinition(AnonymousAuthenticationProvider.class);
|
RootBeanDefinition provider = new RootBeanDefinition(AnonymousAuthenticationProvider.class);
|
||||||
|
provider.setSource(source);
|
||||||
provider.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
provider.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
||||||
|
|
||||||
ManagedList authMgrProviderList = (ManagedList) authManager.getPropertyValues().getPropertyValue("providers").getValue();
|
ManagedList authMgrProviderList = (ManagedList) authManager.getPropertyValues().getPropertyValue("providers").getValue();
|
||||||
|
@ -23,6 +23,7 @@ class AuthenticationProviderBeanDefinitionParser implements BeanDefinitionParser
|
|||||||
|
|
||||||
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
||||||
RootBeanDefinition authProvider = new RootBeanDefinition(DaoAuthenticationProvider.class);
|
RootBeanDefinition authProvider = new RootBeanDefinition(DaoAuthenticationProvider.class);
|
||||||
|
authProvider.setSource(parserContext.extractSource(element));
|
||||||
|
|
||||||
Element passwordEncoderElt = DomUtils.getChildElementByTagName(element, Elements.PASSWORD_ENCODER);
|
Element passwordEncoderElt = DomUtils.getChildElementByTagName(element, Elements.PASSWORD_ENCODER);
|
||||||
|
|
||||||
|
@ -34,6 +34,10 @@ public class ConcurrentSessionsBeanDefinitionParser implements BeanDefinitionPar
|
|||||||
controllerBuilder.addPropertyValue("sessionRegistry", new RuntimeBeanReference(BeanIds.SESSION_REGISTRY));
|
controllerBuilder.addPropertyValue("sessionRegistry", new RuntimeBeanReference(BeanIds.SESSION_REGISTRY));
|
||||||
filterBuilder.addPropertyValue("sessionRegistry", new RuntimeBeanReference(BeanIds.SESSION_REGISTRY));
|
filterBuilder.addPropertyValue("sessionRegistry", new RuntimeBeanReference(BeanIds.SESSION_REGISTRY));
|
||||||
|
|
||||||
|
Object source = parserContext.extractSource(element);
|
||||||
|
filterBuilder.setSource(source);
|
||||||
|
controllerBuilder.setSource(source);
|
||||||
|
|
||||||
String expiryUrl = element.getAttribute("expiryUrl");
|
String expiryUrl = element.getAttribute("expiryUrl");
|
||||||
|
|
||||||
if (StringUtils.hasText(expiryUrl)) {
|
if (StringUtils.hasText(expiryUrl)) {
|
||||||
|
@ -40,23 +40,26 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
String defaultTargetUrl = null;
|
String defaultTargetUrl = null;
|
||||||
String authenticationFailureUrl = null;
|
String authenticationFailureUrl = null;
|
||||||
String loginPage = null;
|
String loginPage = null;
|
||||||
|
Object source = null;
|
||||||
|
|
||||||
if (elt != null) {
|
if (elt != null) {
|
||||||
loginUrl = elt.getAttribute(ATT_LOGIN_URL);
|
loginUrl = elt.getAttribute(ATT_LOGIN_URL);
|
||||||
defaultTargetUrl = elt.getAttribute(ATT_FORM_LOGIN_TARGET_URL);
|
defaultTargetUrl = elt.getAttribute(ATT_FORM_LOGIN_TARGET_URL);
|
||||||
authenticationFailureUrl = elt.getAttribute(ATT_FORM_LOGIN_AUTHENTICATION_FAILURE_URL);
|
authenticationFailureUrl = elt.getAttribute(ATT_FORM_LOGIN_AUTHENTICATION_FAILURE_URL);
|
||||||
loginPage = elt.getAttribute(ATT_LOGIN_PAGE);
|
loginPage = elt.getAttribute(ATT_LOGIN_PAGE);
|
||||||
|
source = parserContext.extractSource(elt);
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
||||||
|
|
||||||
BeanDefinition filterBean = createFilterBean(loginUrl, defaultTargetUrl, authenticationFailureUrl);
|
RootBeanDefinition filterBean = createFilterBean(loginUrl, defaultTargetUrl, authenticationFailureUrl);
|
||||||
|
filterBean.setSource(source);
|
||||||
filterBean.getPropertyValues().addPropertyValue("authenticationManager",
|
filterBean.getPropertyValues().addPropertyValue("authenticationManager",
|
||||||
new RuntimeBeanReference(BeanIds.AUTHENTICATION_MANAGER));
|
new RuntimeBeanReference(BeanIds.AUTHENTICATION_MANAGER));
|
||||||
|
|
||||||
BeanDefinitionBuilder entryPointBuilder =
|
BeanDefinitionBuilder entryPointBuilder =
|
||||||
BeanDefinitionBuilder.rootBeanDefinition(AuthenticationProcessingFilterEntryPoint.class);
|
BeanDefinitionBuilder.rootBeanDefinition(AuthenticationProcessingFilterEntryPoint.class);
|
||||||
|
entryPointBuilder.setSource(source);
|
||||||
|
|
||||||
|
|
||||||
// If no login page has been defined, add in the default page generator.
|
// If no login page has been defined, add in the default page generator.
|
||||||
@ -79,7 +82,7 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private BeanDefinition createFilterBean(String loginUrl, String defaultTargetUrl, String authenticationFailureUrl) {
|
private RootBeanDefinition createFilterBean(String loginUrl, String defaultTargetUrl, String authenticationFailureUrl) {
|
||||||
BeanDefinitionBuilder filterBuilder =
|
BeanDefinitionBuilder filterBuilder =
|
||||||
BeanDefinitionBuilder.rootBeanDefinition(AuthenticationProcessingFilter.class);
|
BeanDefinitionBuilder.rootBeanDefinition(AuthenticationProcessingFilter.class);
|
||||||
|
|
||||||
@ -103,6 +106,6 @@ public class FormLoginBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
|
|
||||||
filterBuilder.addPropertyValue("authenticationFailureUrl", authenticationFailureUrl);
|
filterBuilder.addPropertyValue("authenticationFailureUrl", authenticationFailureUrl);
|
||||||
|
|
||||||
return filterBuilder.getBeanDefinition();
|
return (RootBeanDefinition) filterBuilder.getBeanDefinition();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,8 @@ public class LdapServerBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
contextSource.getConstructorArgumentValues().addIndexedArgumentValue(0, url);
|
contextSource.getConstructorArgumentValues().addIndexedArgumentValue(0, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
contextSource.setSource(parserContext.extractSource(elt));
|
||||||
|
|
||||||
String managerDn = elt.getAttribute(ATT_PRINCIPAL);
|
String managerDn = elt.getAttribute(ATT_PRINCIPAL);
|
||||||
String managerPassword = elt.getAttribute(ATT_PASSWORD);
|
String managerPassword = elt.getAttribute(ATT_PASSWORD);
|
||||||
|
|
||||||
@ -143,6 +145,7 @@ public class LdapServerBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
contextSource.getPropertyValues().addPropertyValue("password", "secret");
|
contextSource.getPropertyValues().addPropertyValue("password", "secret");
|
||||||
|
|
||||||
RootBeanDefinition apacheContainer = new RootBeanDefinition(ApacheDSContainer.class);
|
RootBeanDefinition apacheContainer = new RootBeanDefinition(ApacheDSContainer.class);
|
||||||
|
apacheContainer.setSource(parserContext.extractSource(element));
|
||||||
apacheContainer.getConstructorArgumentValues().addGenericArgumentValue(configuration);
|
apacheContainer.getConstructorArgumentValues().addGenericArgumentValue(configuration);
|
||||||
apacheContainer.getConstructorArgumentValues().addGenericArgumentValue(contextSource);
|
apacheContainer.getConstructorArgumentValues().addGenericArgumentValue(contextSource);
|
||||||
|
|
||||||
|
@ -62,13 +62,17 @@ public class LdapUserServiceBeanDefinitionParser extends AbstractUserDetailsServ
|
|||||||
groupSearchBase = DEF_GROUP_SEARCH_BASE;
|
groupSearchBase = DEF_GROUP_SEARCH_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Object source = parserContext.extractSource(elt);
|
||||||
|
|
||||||
RuntimeBeanReference contextSource = new RuntimeBeanReference(server);
|
RuntimeBeanReference contextSource = new RuntimeBeanReference(server);
|
||||||
BeanDefinition search = new RootBeanDefinition(FilterBasedLdapUserSearch.class);
|
RootBeanDefinition search = new RootBeanDefinition(FilterBasedLdapUserSearch.class);
|
||||||
|
search.setSource(source);
|
||||||
search.getConstructorArgumentValues().addIndexedArgumentValue(0, userSearchBase);
|
search.getConstructorArgumentValues().addIndexedArgumentValue(0, userSearchBase);
|
||||||
search.getConstructorArgumentValues().addIndexedArgumentValue(1, userSearchFilter);
|
search.getConstructorArgumentValues().addIndexedArgumentValue(1, userSearchFilter);
|
||||||
search.getConstructorArgumentValues().addIndexedArgumentValue(2, contextSource);
|
search.getConstructorArgumentValues().addIndexedArgumentValue(2, contextSource);
|
||||||
|
|
||||||
BeanDefinition populator = new RootBeanDefinition(DefaultLdapAuthoritiesPopulator.class);
|
RootBeanDefinition populator = new RootBeanDefinition(DefaultLdapAuthoritiesPopulator.class);
|
||||||
|
populator.setSource(source);
|
||||||
populator.getConstructorArgumentValues().addIndexedArgumentValue(0, contextSource);
|
populator.getConstructorArgumentValues().addIndexedArgumentValue(0, contextSource);
|
||||||
populator.getConstructorArgumentValues().addIndexedArgumentValue(1, groupSearchBase);
|
populator.getConstructorArgumentValues().addIndexedArgumentValue(1, groupSearchBase);
|
||||||
populator.getPropertyValues().addPropertyValue("groupSearchFilter", groupSearchFilter);
|
populator.getPropertyValues().addPropertyValue("groupSearchFilter", groupSearchFilter);
|
||||||
|
@ -38,6 +38,7 @@ public class LogoutBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(LogoutFilter.class);
|
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(LogoutFilter.class);
|
||||||
|
builder.setSource(parserContext.extractSource(element));
|
||||||
|
|
||||||
if (!StringUtils.hasText(logoutUrl)) {
|
if (!StringUtils.hasText(logoutUrl)) {
|
||||||
logoutUrl = DEF_LOGOUT_URL;
|
logoutUrl = DEF_LOGOUT_URL;
|
||||||
|
@ -68,7 +68,8 @@ public class PasswordEncoderParser {
|
|||||||
passwordEncoder = new RuntimeBeanReference(ref);
|
passwordEncoder = new RuntimeBeanReference(ref);
|
||||||
} else {
|
} else {
|
||||||
Class beanClass = (Class) ENCODER_CLASSES.get(hash);
|
Class beanClass = (Class) ENCODER_CLASSES.get(hash);
|
||||||
BeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
|
RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
|
||||||
|
beanDefinition.setSource(parserContext.extractSource(element));
|
||||||
if (useBase64) {
|
if (useBase64) {
|
||||||
if (beanClass.isAssignableFrom(BaseDigestPasswordEncoder.class)) {
|
if (beanClass.isAssignableFrom(BaseDigestPasswordEncoder.class)) {
|
||||||
beanDefinition.getPropertyValues().addPropertyValue("encodeHashAsBase64", "true");
|
beanDefinition.getPropertyValues().addPropertyValue("encodeHashAsBase64", "true");
|
||||||
|
@ -27,7 +27,8 @@ public class PortMappingsBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
public static final String ATT_HTTPS_PORT = "https";
|
public static final String ATT_HTTPS_PORT = "https";
|
||||||
|
|
||||||
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
||||||
BeanDefinition portMapper = new RootBeanDefinition(PortMapperImpl.class);
|
RootBeanDefinition portMapper = new RootBeanDefinition(PortMapperImpl.class);
|
||||||
|
portMapper.setSource(parserContext.extractSource(element));
|
||||||
|
|
||||||
if (element != null) {
|
if (element != null) {
|
||||||
List mappingElts = DomUtils.getChildElementsByTagName(element, Elements.PORT_MAPPING);
|
List mappingElts = DomUtils.getChildElementsByTagName(element, Elements.PORT_MAPPING);
|
||||||
|
@ -33,15 +33,17 @@ public class RememberMeBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
String tokenRepository = null;
|
String tokenRepository = null;
|
||||||
String dataSource = null;
|
String dataSource = null;
|
||||||
String key = null;
|
String key = null;
|
||||||
|
Object source = null;
|
||||||
|
|
||||||
if (element != null) {
|
if (element != null) {
|
||||||
tokenRepository = element.getAttribute(ATT_TOKEN_REPOSITORY);
|
tokenRepository = element.getAttribute(ATT_TOKEN_REPOSITORY);
|
||||||
dataSource = element.getAttribute(ATT_DATA_SOURCE);
|
dataSource = element.getAttribute(ATT_DATA_SOURCE);
|
||||||
key = element.getAttribute(ATT_KEY);
|
key = element.getAttribute(ATT_KEY);
|
||||||
|
source = parserContext.extractSource(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
BeanDefinition filter = new RootBeanDefinition(RememberMeProcessingFilter.class);
|
RootBeanDefinition filter = new RootBeanDefinition(RememberMeProcessingFilter.class);
|
||||||
BeanDefinition services = new RootBeanDefinition(PersistentTokenBasedRememberMeServices.class);
|
RootBeanDefinition services = new RootBeanDefinition(PersistentTokenBasedRememberMeServices.class);
|
||||||
|
|
||||||
filter.getPropertyValues().addPropertyValue("authenticationManager",
|
filter.getPropertyValues().addPropertyValue("authenticationManager",
|
||||||
new RuntimeBeanReference(BeanIds.AUTHENTICATION_MANAGER));
|
new RuntimeBeanReference(BeanIds.AUTHENTICATION_MANAGER));
|
||||||
@ -76,7 +78,11 @@ public class RememberMeBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BeanDefinition authManager = ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
BeanDefinition authManager = ConfigUtils.registerProviderManagerIfNecessary(parserContext);
|
||||||
BeanDefinition provider = new RootBeanDefinition(RememberMeAuthenticationProvider.class);
|
RootBeanDefinition provider = new RootBeanDefinition(RememberMeAuthenticationProvider.class);
|
||||||
|
|
||||||
|
filter.setSource(source);
|
||||||
|
services.setSource(source);
|
||||||
|
provider.setSource(source);
|
||||||
|
|
||||||
provider.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
provider.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
||||||
services.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
services.getPropertyValues().addPropertyValue(ATT_KEY, key);
|
||||||
|
@ -13,18 +13,20 @@ import org.w3c.dom.Element;
|
|||||||
/**
|
/**
|
||||||
* @author Luke Taylor
|
* @author Luke Taylor
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
public class SaltSourceBeanDefinitionParser implements BeanDefinitionParser {
|
public class SaltSourceBeanDefinitionParser implements BeanDefinitionParser {
|
||||||
static final String ATT_USER_PROPERTY = "user-property";
|
static final String ATT_USER_PROPERTY = "user-property";
|
||||||
static final String ATT_SYSTEM_WIDE = "system-wide";
|
static final String ATT_SYSTEM_WIDE = "system-wide";
|
||||||
|
|
||||||
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
public BeanDefinition parse(Element element, ParserContext parserContext) {
|
||||||
BeanDefinition saltSource;
|
RootBeanDefinition saltSource;
|
||||||
String userProperty = element.getAttribute(ATT_USER_PROPERTY);
|
String userProperty = element.getAttribute(ATT_USER_PROPERTY);
|
||||||
|
|
||||||
if (StringUtils.hasText(userProperty)) {
|
if (StringUtils.hasText(userProperty)) {
|
||||||
saltSource = new RootBeanDefinition(ReflectionSaltSource.class);
|
saltSource = new RootBeanDefinition(ReflectionSaltSource.class);
|
||||||
saltSource.getPropertyValues().addPropertyValue("userPropertyToUse", userProperty);
|
saltSource.getPropertyValues().addPropertyValue("userPropertyToUse", userProperty);
|
||||||
|
saltSource.setSource(parserContext.extractSource(element));
|
||||||
|
|
||||||
return saltSource;
|
return saltSource;
|
||||||
}
|
}
|
||||||
@ -34,10 +36,12 @@ public class SaltSourceBeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
if (StringUtils.hasText(systemWideSalt)) {
|
if (StringUtils.hasText(systemWideSalt)) {
|
||||||
saltSource = new RootBeanDefinition(SystemWideSaltSource.class);
|
saltSource = new RootBeanDefinition(SystemWideSaltSource.class);
|
||||||
saltSource.getPropertyValues().addPropertyValue("systemWideSalt", systemWideSalt);
|
saltSource.getPropertyValues().addPropertyValue("systemWideSalt", systemWideSalt);
|
||||||
|
saltSource.setSource(parserContext.extractSource(element));
|
||||||
|
|
||||||
return saltSource;
|
return saltSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new SecurityConfigurationException(Elements.SALT_SOURCE + " requires an attribute");
|
parserContext.getReaderContext().error(Elements.SALT_SOURCE + " requires an attribute", element);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,10 @@ public class X509BeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
BeanDefinitionBuilder filterBuilder = BeanDefinitionBuilder.rootBeanDefinition(X509PreAuthenticatedProcessingFilter.class);
|
BeanDefinitionBuilder filterBuilder = BeanDefinitionBuilder.rootBeanDefinition(X509PreAuthenticatedProcessingFilter.class);
|
||||||
RootBeanDefinition entryPoint = new RootBeanDefinition(PreAuthenticatedProcessingFilterEntryPoint.class);
|
RootBeanDefinition entryPoint = new RootBeanDefinition(PreAuthenticatedProcessingFilterEntryPoint.class);
|
||||||
|
|
||||||
|
Object source = parserContext.extractSource(element);
|
||||||
|
filterBuilder.setSource(source);
|
||||||
|
entryPoint.setSource(source);
|
||||||
|
|
||||||
String regex = element.getAttribute(ATT_REGEX);
|
String regex = element.getAttribute(ATT_REGEX);
|
||||||
|
|
||||||
if (StringUtils.hasText(regex)) {
|
if (StringUtils.hasText(regex)) {
|
||||||
@ -49,8 +53,10 @@ public class X509BeanDefinitionParser implements BeanDefinitionParser {
|
|||||||
|
|
||||||
if (StringUtils.hasText(userServiceRef)) {
|
if (StringUtils.hasText(userServiceRef)) {
|
||||||
RootBeanDefinition statusCheckingUserService = new RootBeanDefinition(StatusCheckingUserDetailsService.class);
|
RootBeanDefinition statusCheckingUserService = new RootBeanDefinition(StatusCheckingUserDetailsService.class);
|
||||||
|
statusCheckingUserService.setSource(source);
|
||||||
statusCheckingUserService.getConstructorArgumentValues().addIndexedArgumentValue(0, new RuntimeBeanReference(userServiceRef));
|
statusCheckingUserService.getConstructorArgumentValues().addIndexedArgumentValue(0, new RuntimeBeanReference(userServiceRef));
|
||||||
BeanDefinition preAuthUserService = new RootBeanDefinition(UserDetailsByNameServiceWrapper.class);
|
RootBeanDefinition preAuthUserService = new RootBeanDefinition(UserDetailsByNameServiceWrapper.class);
|
||||||
|
preAuthUserService.setSource(source);
|
||||||
preAuthUserService.getPropertyValues().addPropertyValue("userDetailsService", statusCheckingUserService);
|
preAuthUserService.getPropertyValues().addPropertyValue("userDetailsService", statusCheckingUserService);
|
||||||
provider.getPropertyValues().addPropertyValue("preAuthenticatedUserDetailsService", preAuthUserService);
|
provider.getPropertyValues().addPropertyValue("preAuthenticatedUserDetailsService", preAuthUserService);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user