我有一个grails应用程序,其中我正在为一个管理员和另一个普通用户创建bootstrap.groovy文件。 我正在使用spring security插件来保证安全。
我的问题是我可以从bootstrap.groovy bt中创建的用户登录,而我从我的应用程序创建一个新用户时我无法从该用户登录。
我收到以下错误消息:
DEBUG dao.DaoAuthenticationProvider - Authentication failed: password does not match stored value
这是我的域名编码密码功能
def beforeInsert() {
super.beforeInsert()
encodePassword()
}
def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}
protected void encodePassword() {
password = springSecurityService.encodePassword(password)
}
这是我的用户插入代码值来自我的登录表单
User user = User.findByEmail(email) ?: new User(firstName: fname, lastName: lname, email: email,
password: password, enabled: true, accountLocked: false, accountExpired: false).save()
这是我的bootstrap.groovy inIt函数
User user = User.findByEmail('systemuser@gmail.com') ?: new User(firstName: 'System', lastName: 'User', email: 'systemuser@gmail.com',
password: 'user', enabled: true, accountLocked: false, accountExpired: false).save()
我正在使用此密码算法进行编码
grails.plugin.springsecurity.password.algorithm='bcrypt'