【问题标题】:Grails Spring Security Plugin Trouble with User RulesGrails Spring Security Plugin 用户规则问题
【发布时间】: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,或者完全关闭身份验证,然后继续使用该角色。

标签: grails spring-security


【解决方案1】:

我在文档中谈到了这一点 - 请参阅http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/5%20Configuring%20Request%20Mappings%20to%20Secure%20URLs.htmlactionSubmit 的警告

正如您所见,actionSubmit 标记发布到索引操作,Grails 会根据隐藏的输入确定要转发到哪个操作,但这对于 Spring Security 来说为时已晚。

解决方法是使用两种形式而不使用actionSubmit

【讨论】:

  • 很抱歉忽略了这一点,非常感谢您的帮助!
猜你喜欢
  • 2011-08-31
  • 2015-02-05
  • 2014-07-30
  • 2014-10-15
  • 2017-08-23
  • 2013-05-25
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多