Я оставлю, как вводить свой собственный пользовательского поставщика проверки подлинности другой мириады примеров из Googleland и здесь на StackOverflow. Похоже, что это связано с маркировкой определенного компонента с помощью xml. Но, надеюсь, я смогу заполнить некоторые другие детали для вас.
Итак, вы определили класс несколько выше, как и я добавлю больше деталей, что вам нужно для весны (т.е. объединить материал сверху, а также.
public class SwitchingAuthenticationProvider implements AuthenticationProvider
{
....
public List<AuthenticationProvider> getProviders() { return delegateList; }
public void setProviders(List<AuthenticationProvider> providers) {
this.delegateList = providers;
}
....
}
Это позволит вы впрыснуть множество провайдеров с помощью пружины:
<bean id="customAuthProvider1" class=".....CustomProvider1"> ... </bean>
<bean id="customAuthProvider2" class=".....CustomProvider2"> ... </bean>
...
<bean id="customAuthProviderX" class=".....CustomProviderX"> ... </bean>
<bean id="authenticationProvider" class="....SwitchingAuthenticationProvider">
<security:custom-authentication-provider/>
<!-- using property injection (get/setProviders) in the bean class -->
<property name="providers">
<list>
<ref local="customAuthProvider1"/> <!-- Ref of 1st authenticator -->
<ref local="customAuthProvider2"/> <!-- Ref of 2nd authenticator -->
...
<ref local="customAuthProviderX"/> <!-- and so on for more -->
</list>
</property>
</bean>
в конце концов, как вы заселить провайдеры могут быть любыми средствами получения доверителя коллекции поставщиков Как они отображают до какого использовать до. вы. Коллекция может быть именованной, на основе текущего состояния доверитель. Это может быть список более чем одного, чтобы попробовать. Это может быть два свойства: «get/setPrimary» и «get/setSecondary» для отказоустойчивых функций. После того, как вы добавите делегата, возможности вам решать.
Дайте мне знать, если это не отвечает на ваш вопрос.
@Matt Спасибо. Это помогает. Я попробую это и дам вам знать. – Jay