Grails带有Spring安全插件和salt密码
我正在尝试在我的Grails+Spring安全应用程序中进行salt密码散列。我使用了Grails网站上的教程,也使用了我在互联网上随机找到的教程 目前,我已经根据教程设置好了一切。但是,在Grails带有Spring安全插件和salt密码,grails,spring-security,Grails,Spring Security,我正在尝试在我的Grails+Spring安全应用程序中进行salt密码散列。我使用了Grails网站上的教程,也使用了我在互联网上随机找到的教程 目前,我已经根据教程设置好了一切。但是,在resources.groovy中使用以下bean声明部署应用程序时,我遇到了一个问题: saltSource(cq.MySaltSource) { userPropertyToUse = CH.config.grails.plugins.springsecurity.dao.reflectionSa
resources.groovy
中使用以下bean声明部署应用程序时,我遇到了一个问题:
saltSource(cq.MySaltSource) {
userPropertyToUse = CH.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
}
它抱怨找不到CH
在四处挖掘之后,我发现了一篇关于以下内容的帖子:
另外-不要使用ConfigurationHolder(CH),因为它在2.0中已被弃用。您可以传入对grailsApplication bean的引用,并从中获取配置:
然后在你的课堂上加上
并通过
我没有遵循的部分是关于“…并通过…”获得财产的最后一句话。他给我的那行代码在我看来似乎是错误的
如果有人能在这里透露一些信息,或者提供一种不同的方法来使用Grails和Spring安全性中的salt密码,我将不胜感激。请注意,它需要是每个用户的唯一盐,而不是系统范围内的盐或单个盐,或源自username
的盐
谢谢
更新 因此,我在第一个教程中使用了它(忘记了
resources.groovy
顶部的import
语句)。但我仍然希望使用第二种方法(与未来版本保持兼容)
更新2 如果有人对此感兴趣,我已经就此编写了完整的教程:
在
resources.groovy
中定义saltSource
bean的GrailsApplication
作为应用程序
变量提供,因此您可以将bean声明更改为
saltSource(cq.MySaltSource) {
userPropertyToUse = application.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
}
def grailsApplication
String userPropertyToUse grailsApplication.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
saltSource(cq.MySaltSource) {
userPropertyToUse = application.config.grails.plugins.springsecurity.dao.reflectionSaltSourceProperty
}