首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Grails Spring Security UI插件-它支持组吗?

Grails Spring Security UI插件-它支持组吗?
EN

Stack Overflow用户
提问于 2014-07-25 10:38:56
回答 2查看 210关注 0票数 1

我正在准备实现Spring Security UI插件(我们已经实现了Spring Security Core插件)。我知道核心插件支持用户、角色和组,但是,我在Spring Security UI插件的文档中没有看到任何提到组的内容。Spring Security UI插件不支持创建、编辑等群组吗?有人试过添加这个功能吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-09 21:32:57

回复晚了,但我也有同样的问题,所以我想我还是试试吧。我刚刚尝试过了,我相信答案是No。(开箱即用)

spring的安全ui插件没有考虑到组。如果您尝试编辑用户

代码语言:javascript
运行
复制
myapp/user/edit/1

您将收到某种类型的错误,如:

代码语言:javascript
运行
复制
Class groovy.lang.MissingPropertyException
Message
No such property: authority for class: com.myapp.security.SecGroup Possible solutions: authorities

我很好奇你有没有找到解决这个问题的办法?否则我们将不得不定制插件。

票数 0
EN

Stack Overflow用户

发布于 2015-05-03 06:26:20

正如Julian所指出的,UI不提供对开箱即用的组的支持。为了避免该错误,您可以执行以下操作(自定义插件):

将用户控制器复制到项目中,以覆盖插件的控制器:

代码语言:javascript
运行
复制
grails s2ui-override user <your-package-for-controller>

从UserController的插件代码中复制"buildUserModel“,并编辑userRoleNames字段:

代码语言:javascript
运行
复制
import grails.plugin.springsecurity.SpringSecurityUtils

class UserController extends grails.plugin.springsecurity.ui.UserController {

  protected Map buildUserModel(user) {
    ...
    // Added so that when using groups doesn't cause an error
    Set userRoleNames
    if (SpringSecurityUtils.securityConfig.useRoleGroups) {
        String groupAuthorityFieldName = SpringSecurityUtils.securityConfig.authority.groupAuthorityNameField
        userRoleNames = user[authoritiesPropertyName].collect { it[groupAuthorityFieldName].collect { it[authorityFieldName] } }
    } else {
        userRoleNames = user[authoritiesPropertyName].collect { it[authorityFieldName] }
    }
    ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24947190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档