Java 如何在安全xml中配置BCryptPasswordEncoder
我阅读了SpringSecurity的每个API和文档,但我找不到如何在SpringSecurityBeanXML中配置BCryptPasswordEncoder强度参数 尝试做一些事情,比如:Java 如何在安全xml中配置BCryptPasswordEncoder,java,spring-security,Java,Spring Security,我阅读了SpringSecurity的每个API和文档,但我找不到如何在SpringSecurityBeanXML中配置BCryptPasswordEncoder强度参数 尝试做一些事情,比如:BCryptPasswordEncoder(int-strength) My security.xml: <bean id="bCryptPasswordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPass
BCryptPasswordEncoder(int-strength)代码>
My security.xml:
<bean id="bCryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
<security:authentication-manager>
<security:authentication-provider
user-service-ref="userDetailsServiceImpl">
<security:password-encoder ref="bCryptPasswordEncoder" />
</security:authentication-provider>
</security:authentication-manager>
为此,您将在BCryptPasswordEncoder上使用
<bean id="bCryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
<constructor-arg value="100"/>
</bean>
<security:authentication-manager>
<security:authentication-provider
user-service-ref="userDetailsServiceImpl">
<security:password-encoder ref="bCryptPasswordEncoder" />
</security:authentication-provider>
</security:authentication-manager>
从Spring3.1开始,您可以使其更加简洁。例如:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="bCryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"
c:strength="100"/>
<security:authentication-manager>
<security:authentication-provider
user-service-ref="userDetailsServiceImpl">
<security:password-encoder ref="bCryptPasswordEncoder" />
</security:authentication-provider>
</security:authentication-manager>
</beans>
您会注意到在这个示例中
- 有一个新的xmlns:c声明
- bCryptPasswordEncoder中c:之后的值对应于构造函数参数名称。或者,您可以使用c:_0指定索引
有关c名称空间的更多详细信息,请参阅上一个链接