如何在Grails上将基于Roles的限制添加到Config.groovy文件中?

时间:2016-05-12 21:54:52

标签: grails

我试图在我的Config.groovy上为某些页面添加一些限制,但我无法正确执行此操作。

我希望RoleType.ROLE_HR_ADMIN访问索引和创建页面。 而对于RoleType.ROLE_HR_READONLY,它应该能够访问索引页面并仅显示页面。 我已经隐藏了按钮,因此用户无法点击该按钮进入创建屏幕。但是,如果我获得完整的网址,请将其复制并粘贴到浏览器上,我仍然可以访问它。

这就是我在Config.groovy上尝试做的事情:

'/siteadmin/party/**': [RoleType.ROLE_SITE_ADMIN.id],
        '/siteadmin/party/create/**': [RoleType.ROLE_HR_ADMIN.id],
        '/siteadmin/party/index/**': [RoleType.ROLE_HR_ADMIN.id, RoleType.ROLE_HR_READONLY.id],

但是我得到了:

"Sorry, you're not authorized to view this page."

如果有人可以向我发送一个显示如何正确操作的链接,那就太棒了。 我尝试了一些不同的方法,但没有一种方法有效。

1 个答案:

答案 0 :(得分:1)

检查出来:https://grails-plugins.github.io/grails-spring-security-core/v2/guide/requestMappings.html

特别关注 grails.plugin.springsecurity.interceptUrlMap

'/j_spring_security_switch_user': ['ROLE_ADMIN']

所以在你的情况下:

'/siteadmin/party/create/**': ['ROLE_HR_ADMIN'],
'/siteadmin/party/index/**': ['ROLE_HR_ADMIN', 'ROLE_HR_READONLY']
'/siteadmin/party/**': ['ROLE_SITE_ADMIN']

订单很重要。