1

我对 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 这个词,它就像一个魅力。我是否遗漏了一些明显的东西,这是一个错误,还是.......?

这些示例显示了简单的角色名称,例如“用户”或“管理员”。

4

1 回答 1

0

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

于 2009-07-27T00:50:59.753 回答