Spring自定义身份验证管理器(具有自定义用户详细信

时间:2015-04-27 04:38:16

标签: spring-security

在我的Spring应用程序中,我希望我的ProviderManager类实现Serializable类(出于我自己的原因),当然我们无法编辑Spring代码,所以我做的一种方法是使用一个名为CustomProviderManager的自定义类它扩展了ProviderManager并实现了Serializable类 我原来的身份验证管理器声明喜欢这个:

    <security:authentication-manager alias="authenticationManager">
      <security:authentication-provider
        user-service-ref="customUserDetailsService" >
        <security:password-encoder hash="md5" />
      </security:authentication-provider>
    </security:authentication-manager>

如何为我的CustomProviderManager类配置喜欢上面的代码段(我的自定义身份验证管理器的身份验证提供程序应该使用自定义用户详细信息服务名称&#34; customUserDetailsS​​ervice &#34;并且密码编码器是&#34;的 MD5 &#34)

1 个答案:

答案 0 :(得分:3)

取决于您的CustomProviderManager,但是这样的事情:

<bean id="authenticationManager" class="CustomProviderManager">
  <constructor-arg>
    <bean class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
      <property name="userDetailsService" ref="customUserDetailsService"/>
      <property name="passwordEncoder">
        <bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
      </property>
    </bean>
  </constructor-arg>
</bean>