添加用户表单加密密码 - Spring安全性

时间:2013-09-08 11:35:44

标签: spring-mvc encryption spring-security sha

我使用Spring Security来避免非用户访问我的应用。我必须使用SHA对这类用户的角色和密码进行编码。一切都很好,我正在积极使用登录表单,但我需要一个表单来创建用户。我的问题是,我在密码字段中写的内容被解释为SHA编码密码,因此当我尝试使用新用户登录时,我不能。我怎么解决这个问题?有没有办法强制Spring加密我在密码字段中写的密码?

1 个答案:

答案 0 :(得分:3)

在用户认证时间

应该配置Spring安全性的身份验证管理器,以便它事先使用SHA对从登录表单接收的纯文本密码进行编码。

在Spring Security的文档的this chapter中,在“添加密码编码器”一节中对此进行了解释。它基本上是添加这一行配置:

<authentication-provider>
    <password-encoder hash="sha"/>
    ...
</authentication-provider>

在用户创建时

在存储新用户之前,您应该“自己”编码密码,Spring安全无法处理它。

在您的情况下,您可以使用ShaPasswordEncoder.encodePassword(..)方法。

本主题已经过评估 Adding new users in Spring Security

在提问作者的第一条评论之后

修改添加了详细信息