我是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”。
答案 0 :(得分:0)
你所有的Acegi当局应该是ROLE_something。 可以将默认前缀配置从ROLE_更改为其他内容:http://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/runas/RunAsManagerImpl.html