【发布时间】:2012-07-07 17:47:32
【问题描述】:
我确定以前有人问过这个问题,但我找不到任何可以回答这个问题的东西。
使用 Spring-security,我正在使用密码编码器。
<beans:bean class="org.springframework.security.authentication.encoding.ShaPasswordEncoder" id="passwordEncoder"/>
<authentication-manager>
<authentication-provider user-service-ref='CustomUserDetailsService'>
<password-encoder ref="passwordEncoder"/>
</authentication-provider>
</authentication-manager>
在我的 UserDAOImpl 中,添加用户时我有以下代码...
@Override
public void addUser(final User user) {
user.setPassword(passwordEncoder.encodePassword(user.getPassword(), "salt"));
sessionFactory.getCurrentSession().save(user);
}
我的密码被正确编码,但总是被读取为无效,这是有道理的,因为我不知道 Spring 怎么知道我的盐是“盐”——你如何告诉 Spring Security 以及 Hibernate 使用一样的盐吗?我是否遗漏了有关 Spring Security 如何管理密码的内容?
【问题讨论】:
标签: spring hibernate spring-security