【问题标题】:Generated PersonController expects Authority to contain word ROLE生成的 PersonController 期望权限包含单词 ROLE
【发布时间】:2010-11-11 05:12:57
【问题描述】:

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

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

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-02-03
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      相关资源
      最近更新 更多