Update new X509 namespace config to use status checking of user accounts by default.
This commit is contained in:
parent
600ab04cc7
commit
2343577fec
|
@ -5,6 +5,7 @@ import org.springframework.security.ui.preauth.x509.X509PreAuthenticatedProcessi
|
|||
import org.springframework.security.ui.preauth.x509.SubjectDnX509PrincipalExtractor;
|
||||
import org.springframework.security.providers.preauth.PreAuthenticatedAuthenticationProvider;
|
||||
import org.springframework.security.providers.preauth.UserDetailsByNameServiceWrapper;
|
||||
import org.springframework.security.userdetails.decorator.StatusCheckingUserDetailsService;
|
||||
import org.springframework.beans.factory.xml.BeanDefinitionParser;
|
||||
import org.springframework.beans.factory.xml.ParserContext;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
|
@ -47,9 +48,10 @@ public class X509BeanDefinitionParser implements BeanDefinitionParser {
|
|||
String userServiceRef = element.getAttribute(ATT_USER_SERVICE_REF);
|
||||
|
||||
if (StringUtils.hasText(userServiceRef)) {
|
||||
RuntimeBeanReference userService = new RuntimeBeanReference(userServiceRef);
|
||||
RootBeanDefinition statusCheckingUserService = new RootBeanDefinition(StatusCheckingUserDetailsService.class);
|
||||
statusCheckingUserService.getConstructorArgumentValues().addIndexedArgumentValue(0, new RuntimeBeanReference(userServiceRef));
|
||||
BeanDefinition preAuthUserService = new RootBeanDefinition(UserDetailsByNameServiceWrapper.class);
|
||||
preAuthUserService.getPropertyValues().addPropertyValue("userDetailsService", userService);
|
||||
preAuthUserService.getPropertyValues().addPropertyValue("userDetailsService", statusCheckingUserService);
|
||||
provider.getPropertyValues().addPropertyValue("preAuthenticatedUserDetailsService", preAuthUserService);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue