Grails 更新spring安全用户';密码字段?
我在更新用户类的密码字段时遇到了一个问题,我正在使用grails中的SpringSecurity插件,看到应该这样做,但不起作用Grails 更新spring安全用户';密码字段?,grails,spring-security,Grails,Spring Security,我在更新用户类的密码字段时遇到了一个问题,我正在使用grails中的SpringSecurity插件,看到应该这样做,但不起作用 user.password = springSecurityService.encodePassword( params.password, userInstance.username) 也试过 user.password = springSecurityService.encodePassword(
user.password = springSecurityService.encodePassword(
params.password, userInstance.username)
也试过
user.password = springSecurityService.encodePassword(
params.password)
有什么想法吗?您可能想看看Grails Spring Sec插件的作者是如何在其ui插件中实现这一点的
如果您使用的是较新版本的插件(1.2.7或更高版本),那么您不希望像现在这样显式地编码密码,因为用户类中生成的代码会为您编码密码。如果您的域类没有,请仅调用
springSecurityService.encodePassword
,否则您将进行双重编码,无法登录
如果您自己对密码进行编码,那么您显示的第一个版本使用用户名作为salt,而第二个版本没有salt。salt密码是一个好主意,但不是必需的-您可以在文档第12.2节中阅读它-这就是问题所在,我使用的是1.2.7,用户已经在进行编码了。