我的问题是:在 renderEditor.template 中有什么方法可以知道登录的是什么用户以及他有什么角色?
我想做的事情:在我的应用程序中,当登录用户为管理员(“ROLE_ADMIN”)时,我希望更改一些字段 - 普通用户将只有 html 选择标签 1 个选项,默认情况下选中,当管理员用户登录时,出现所有用户的列表。
我正在使用 Spring Security Plugin + Grails 2.1.1。
我已经尝试过的:
- 添加 Spring Security Service (
def springSecurityService
) 但它始终为空 - 尝试传递布尔参数 - 无效
任何帮助将不胜感激!
编辑非常感谢您的回答。但是,我的问题不够精确,所以我包含了一些伪代码,可以更好地解释我想要实现的目标(renderTemplate.template 中的方法)
private renderManyToOne(domainClass,property) {
if (property.association) {
def sb = new StringBuilder()
sb << '<g:select'
...
if (/*loged user is admin*/) {
sb << ' from="${' << property.type.name << '.list()}"'
}else{
sb << ' from="${user}"'/*only loged user can be selected*/
}
...
sb << '/>'
sb as String
}
}