0

我已经为我的项目安装了 spring-security-core 插件以实现登录安全性。安装后一切正常,例如 if account_locked= true 显示帐户已锁定的消息,如果 enabled=false 则显示帐户未启用。但是当一切正常时,它会显示“抱歉,我们无法找到具有该用户名和密码的用户”。虽然我有这个用户名和密码。有人可以帮我吗?

这是我的创建操作 >>>

def createUser = {
    def user = new User()
    user.properties = params
    println(user.username)
    def password = user.password
    def salt = user.username //depends on what you're using as a salt
    user.password = springSecurityService.encodePassword(password, salt)
    user.save()
}
4

1 回答 1

1

要插入用户对象,您需要加密密码字段,例如:

def springSecurityService

def someAction() {
   def user = ...
   def password = ...
   def salt = user.username //depends on what you're using as a salt
   user.password = springSecurityService.encodePassword(password, salt)
   user.save()      
}

请参阅插件文档: http: //grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/12%20Password%20and%20Account%20Protection.html

Salt用于击败预先计算的彩虹表攻击,否则可以用来大大提高破解哈希密码数据库的效率。见http://en.wikipedia.org/wiki/Salt_(密码学)

于 2013-05-12T12:11:17.630 回答