0

我想做类似的事情:

class MySpec extends Specification{
    def 'test'(){
        given: 'a user that has its password encoded by SpringSecurity'
            def user = new SecUser(username: 'blah', password: 'p').save(flush:true)
            MessageDigest md = MessageDigest.getInstance('MD5')
            md.update('p'.getBytes('UTF-8'))
        expect: 'the password should be encoded with MD5 algorithm'
            user.password == (new BASE64Encoder()).encode(md.digest())
    }
}

在我的 Config.groovy 中,我添加了以下行:

grails.plugins.springsecurity.password.algorithm="MD5"

这不起作用(断言失败)。有任何想法吗??

4

1 回答 1

1

与其自己进行编码,不如尝试使用

springSecurityService.encodePassword(user.password)

别忘了你的盐!如果你有一个(如果你没有,你应该考虑一个!)你可以将它作为第二个参数传入。

于 2012-09-09T16:18:29.317 回答