我想在我的Grails + Spring Security应用程序中执行腌制密码哈希。我在Grails网站上使用了这些教程,也使用了在互联网上随机发现的教程。带有Spring Security Plugin和Salted Passwords的Grails
此刻,我根据this教程设置了一切。不过,我在resources.groovy
部署具有以下Bean声明应用程序时碰到一个问题:
saltSource(cq.MySaltSource) {
userPropertyToUse = CH.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
}
它抱怨找不到CH
。
周围挖掘后,我发现nabble后声明如下:
也 - 不使用ConfigurationHolder(CH),因为它在2.0弃用。你可以从那里传递到grailsApplication bean的引用,并获得配置:
saltSource(MySaltSource) {
grailsApplication = ref('grailsApplication')
}
,然后在你的类添加
def grailsApplication
,并通过获得的财产
String userPropertyToUse grailsApplication.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
我不遵循的部分是关于“...并通过...获得财产”的最后一个陈述。他给出的代码行似乎对我不利。
如果有人可以在这里说明一些情况,或者提供一种与Grails和Spring Security一起使用咸味密码的不同方法,我将不胜感激。请注意,它需要是每个用户独特的盐,而不是全系统盐或单盐,或从username
派生的盐。
感谢
UPDATE
所以我得到了它的第一个教程工作(忘了在resources.groovy
顶部import
声明。但我还是喜欢用第二种方式(以保持与未来版本的兼容)。
更新2
我写了一个完整的教程在此,如果有人浏览这里感兴趣:
Setting up a Grails web application using Spring Security and salted passwords.
教程链接已死:( –
@CharlesWood更新了链接。 –