【发布时间】:2012-11-19 21:34:45
【问题描述】:
我已将 Grails Spring Security 插件添加到一个脚手架 Grails 2.1.1 应用程序中。我正在设置用户规则,以便只有 ROLE_ADMIN 用户可以编辑、删除、更新或创建。除了删除之外,我已经完成了这项工作。出于某种原因,我的 ROLE_USER 用户仍然可以删除。我下面的规则有什么问题吗?
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
'/person/update/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/person/edit/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/person/delete': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/person/create': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/county/update/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/county/delete': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/county/edit/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/county/create': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/course/update/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/course/delete': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/course/edit/*': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/course/create': ['ROLE_ADMIN', 'IS_AUTHENTICATED_REMEMBERED'],
'/': ['IS_AUTHENTICATED_REMEMBERED'],
'/**': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
谢谢!
【问题讨论】:
-
当我将鼠标悬停在删除按钮上时,我注意到 URL 是 /myapp/county/index,而不是删除。当我试图阻止 ROLE_USER 的 /county/index 时,该用户被阻止了一切......
-
Burt 的回答很好,像往常一样。我只是想补充一点,在任何地方都使用 IS_AUTHENTICATED_REMEMBERED 可能不是您真正想要的。您可能想要 IS_AUTHENTICATED_FULLY,或者完全关闭身份验证,然后继续使用该角色。