security - 带有分析的 Grails 菜单

标签 security grails menu grails-plugin

有几个 grails 菜单插件,例如 Navigation 插件。我只需要向用户显示他可以根据他的用户配置文件访问的那些菜单项。实现这一目标的最简单方法是什么?是否有可以与某些 grails 安全插件集成的菜单插件?

最佳答案

navigation plugin有一个使用 isVisible 的例子有条件地隐藏菜单项。如果您使用的是 Spring Security 插件,那么您可以将其与 SpringSecurityUtils 上的方法结合使用。或注入(inject) SpringSecurityService bean :

def springSecurityService
// ...
static navigation = [
    [group:'userOptions', action:'login', order: 0, isVisible: { SpringSecurityUtils.ifAllGranted('ROLE_ADMIN') }],
    [action:'logout', order: 99, isVisible: { springSecurityService.isLoggedIn() }]
]

或者,Spring 安全性附带 some tags仅当用户登录/未登录时才会呈现标签正文,使用什么角色等,因此您可以像这样手动滚动菜单项:
<sec:ifAllGranted roles="ROLE_ADMIN">
  // Render <g:link../> to an admin page here.
</sec:ifAllGranted>

关于security - 带有分析的 Grails 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559044/

相关文章:

grails - 如何在g:form中将一些值从gsp传递到 Controller ?

data-binding - 从 Controller 中的参数绑定(bind) Grails 日期

ruby-on-rails - Authlogic 密码的安全性如何?

c# - 使用证书签署文件

grails - shiro注释无法正常使用。有人可以建议我怎么了吗?

jquery - 显示隐藏的子菜单 onclick - JQuery

python - 制作 Python/GTK CheckMenuItem,单击时不关闭菜单

css - 如何删除 css 菜单上按钮之间的空格

android - 我可以识别应用程序分发吗?

macos - 从 XPC bundle 中检索沙箱权利