我们有一个通过 AuthenticationProvider 实现自定义身份验证的 webapp。这现在工作正常。但是我们希望为客户提供一个选项来实现他们自己的实现 AuthenticationProvider 的身份验证类。所以他们将从应用程序中删除我们的 jar 并将他们的 jar 添加到类路径中。
它出现在安全 xml 中,我们只需要指定实现 AuthenticationProvider 的类,但不能告诉 spring 选择任何实现接口 AuthenticationProvider 的类
当前的 XML 和类实现
<authentication-manager alias="authenticationManager">
<authentication-provider ref="customAuthenticationProvider"/>
</authentication-manager>
<beans:bean id="customAuthenticationProvider" class="w.x.y.z.CustomAuthenticationProvider"></beans:bean
@Component
public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
//Implementation
}
@Override
public boolean supports(Class<?> arg0) {
return true;
}
}
无论如何我可以告诉spring选择任何实现AuthenticationProvider的类吗?