【问题标题】:Restrict access to domain classes gorm methods in grails with Spring Security使用 Spring Security 限制对 grails 中域类 gorm 方法的访问
【发布时间】:2012-08-16 08:58:14
【问题描述】:

有没有办法使用 Spring Security 定义对 GORM 方法的访问(例如:保存、删除、更新)?

我看过 ACL 的插件文档,但是,虽然我认为插件允许我定义访问权限,但我看不清楚如何做到这一点。

ACL 的文档:http://burtbeckwith.github.com/grails-spring-security-acl/docs/manual/guide/single.pdf

注意:文档中的示例分别定义了对类实例的访问。我想在类级别定义它们。

【问题讨论】:

  • 如何在控制器级别定义有关保存、删除或更新的访问权限?
  • 这就是我实现它的方式,但我认为在访问控制列表中定义域类级别限制在清晰度和可维护性方面会更好。
  • 问题是ACL,正如你所说的是行级别,而不是类级别:(我认为你已经走在正确的轨道上。你可以看看下面的答案。我个人尽量保持我的安全很简单......
  • 感谢您的澄清!我会继续在控制器级别定义访问权限

标签: grails spring-security grails-orm acl


【解决方案1】:

不确定如何使用 grails,但您应该为域对象的安全性编写切入点

 <global-method-security pre-post-annotations="enabled">
     <!-- Block anything ending with the word 'Controller'-->
     <protect-pointcut expression="execution(* my.pkg.*Domain.*(..))" access="NON_EXISTANT_ROLE"/>
 </global-method-security>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2013-03-10
    • 2012-02-15
    • 2012-12-28
    相关资源
    最近更新 更多