更新spring security用户的密码字段?

时间:2012-04-08 18:35:21

标签: grails spring-security

我在更新User类的密码字段时遇到问题,我在grails中使用SpringSecurity插件,看到它应该像这样完成但是没有用...

user.password = springSecurityService.encodePassword(
                params.password, userInstance.username)

也尝试了

user.password = springSecurityService.encodePassword(
                params.password)

任何想法?

2 个答案:

答案 0 :(得分:2)

如果您使用的是较新版本的插件(1.2.7或更高版本),那么您不希望像您一样明确地对密码进行编码,因为User类中生成的代码会为您执行此操作。如果您的域类没有,请仅调用springSecurityService.encodePassword,否则您将进行双重编码而无法登录。

如果您自己编码密码,您显示的第一个版本是使用用户名作为salt,第二个版本没有盐。盐渍密码是一个好主意但不是必需的 - 您可以在文档中阅读它,第12.2节 - http://grails-plugins.github.com/grails-spring-security-core/docs/manual/

答案 1 :(得分:0)