【问题标题】:Grails Spring Security BootStrapGrails Spring 安全引导
【发布时间】:2012-09-09 06:18:51
【问题描述】:

我在Grails 2.1.1Spring Security Core Plugin 1.2.7.3

我正在尝试将角色分配给 BootStrap.groovy 中的用户并保留这些分配。我在 BootStrap 中创建了我的角色和管理员用户。

我找到了以下博文:Create User Roles for Spring Security

当我尝试这种方法时,我得到:

2012-09-16 22:00:56,762 错误 [org.codehaus.groovy.grails.web.context.GrailsContextLoader] 执行引导程序时出错:

groovy.lang.MissingMethodException:没有方法签名:User.addToAuthorities() 适用于参数类型:(角色)值:可能的解决方案:getAuthorities()

我也试过

class BootStrap {

    def init = { servletContext ->
        ....
        admin.getAuthorities().add(adminRole) 
        admin.save(flush: true)
        ....
    }
} 

但是,当我检查 user_role 表时,它是空的(我检查了管理员用户和管理员角色的条目在各自的用户和角色表中,而不是关联)。

任何人都可以就我做错了什么提供一些指导或见解吗?非常感谢。

【问题讨论】:

标签: grails spring-security grails-plugin


【解决方案1】:

那篇博文已经存在 3 年了,并且在两个方面对于当前插件来说是错误的。一,不要对密码进行编码,它在 User 类中为您完成。还有两个(您现在看到的问题)不调用集合方法(addTo、removeFrom),因为不使用集合。调用UserRole.create admin, adminRole,如插件文档中所述:http://grails-plugins.github.com/grails-spring-security-core/docs/manual/index.html(尤其是第 23.1 节中的教程)。

【讨论】:

    猜你喜欢
    • 2020-07-01
    • 2014-02-15
    • 1970-01-01
    • 2012-09-30
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2012-06-15
    相关资源
    最近更新 更多