如何在Grails上的Config.groovy文件中添加基于角色的限制



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

我想要那个劳力士。ROLE_HR_ADMIN访问索引和创建页面。而对于RoleType。ROLE_HR_READONLY它应该能够访问索引页面并仅显示页面。我已经隐藏了这个按钮,所以用户无法点击它进入创建屏幕。但如果我得到完整的URL,复制并粘贴到浏览器上,我仍然可以访问它

这就是我在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."

如果有人能给我发一个链接,告诉我如何正确地做这件事,那就太好了。我尝试了一些不同的方法,但都不起作用。

看看这个: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']

秩序很重要。

最新更新