我试图在我的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."
如果有人可以向我发送一个显示如何正确操作的链接,那就太棒了。 我尝试了一些不同的方法,但没有一种方法有效。
答案 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']
订单很重要。