0

我在Grails 2.1.1Spring Security Core Plugin 1.2.7.3

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

我找到了以下博客文章:为 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表时,它是空的(我检查了管理员用户和管理员角色的条目在各自的用户和角色表中,而不是关联)。

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

4

1 回答 1

4

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

于 2012-09-17T02:34:23.587 回答