[英]spring security custom inject AuthenticationProvider inside AuthenticationManager
可能是一个新手问题。 我想在Spring AuthenticationManager中注入CustomAuthenticationProviderInside。 我在网上找到了很多例子来做到这一点:
<authentication-manager>
<authentication-provider ref="CustomAuthenticationProvider"/>
</authentication-manager>
如何使用Java Config类做到这一点?
Spring提供了AuthenticationManager的默认实现之一,即ProviderManager。 ProviderManager具有一个构造函数,该构造函数采用一组身份验证提供程序
public ProviderManager(List<AuthenticationProvider> providers) {
this(providers, null);
}
如果您愿意,可以通过扩展ProviderManager来玩
public class MyAuthenticationManager extends ProviderManager implements AuthenticationManager{
public MyAuthenticationManager(List<AuthenticationProvider> providers) {
super(providers);
providers.forEach(e->System.out.println("Registered providers "+e.getClass().getName()));
}
}
然后,在Java安全配置中,您可以添加自定义身份验证管理器。
@Override
protected AuthenticationManager authenticationManager() throws Exception {
return new MyAuthenticationManager(Arrays.asList(new CustomAuthenticationProvider()));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.