生成的PersonController期望Authority包含单词ROLE

时间:2009-07-16 00:48:23

标签: grails spring-security

我是acegi的新手,也是Grails的新手。

我只是按照教程设置了新角色和新用户。每次我保存用户(选中角色)时,都会保存用户信息,但不保存与用户关联的角色。

我终于挖出了生成的控制器代码,并注意到了这一点:

private void addRoles(person) {
    for (String key in params.keySet()) {
        if (key.contains('ROLE') && 'on' == params.get(key)) {
            Authority.findByAuthority(key).addToPeople(person)
        }
    }
}

所以为了确保我正确地解释它,我在我的作品中添加了ROLE这个词,它就像一个魅力。我错过了一些明显的东西,这是一个错误,还是.......?

示例显示了简单的角色名称,如“user”或“manager”。

1 个答案:

答案 0 :(得分:0)

你所有的Acegi当局应该是ROLE_something。 可以将默认前缀配置从ROLE_更改为其他内容:http://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/runas/RunAsManagerImpl.html