grails - 如何在Grails中显示在选择框中登录的用户的角色

标签 grails

我有一个具有多个角色的用户,我想在标题的下拉列表中显示他的可用角色。一种方法是编写我自己的自定义标签,但是还有其他简单的方法可以做到这一点。

最佳答案

您可以创建一个custom tag library:

class RolesTagLib {
    static namespace = 'my'

    def springSecurityService

    def currentUserRoleSelect = { attrs ->
        def user = springSecurityService.getCurrentUser()
        def roles = UserRole.findAllByUser(user).collect { it.role } as Set
        attrs.from = roles
        attrs.optionKey = attrs.optionKey ?: 'id'
        attrs.optionValue = attrs.optionValue ?: 'authority'
        out << g.select(attrs)
    }
}

然后在您的GSP中:
<my:currentUserRoleSelect name="role"/>

关于grails - 如何在Grails中显示在选择框中登录的用户的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789828/

相关文章:

grails - 无法使用 grails 渲染插件加载 CSS

grails - 尝试删除主键时,数据库迁移失败,但仅在某些情况下

grails - 在对服务进行单元测试时,如何在 session 中注入(inject)一些东西

grails - CamelExchangeException:无法将响应写入...由UnsupportedException引起

testing - 模拟 Grails Spring Security 登录用户

grails - 将请求参数绑定(bind)到过滤器中的域对象

Grails 卡在命令行上

java - Grails - 两个日期之间的差异

java - Grails 3.3 @Service 注释没有为抽象服务创建 bean?

forms - Grails withForm,是否在出错时重置 token ?