【问题标题】:Method Level security with permissions not roles具有权限而非角色的方法级别安全性
【发布时间】:2011-12-15 22:16:19
【问题描述】:
  • 我想为我的 Spring 应用程序设置方法级别的安全性。
  • 安全设计如下:用户>角色>权限
  • 好吧,当我将@PreAuthorizehasRole 一起使用时,它工作正常。
  • 但是当我尝试将它与hasPermission 一起使用时,它不起作用。
  • 我发现我应该使用 Spring ACL 来实现这种方法,但它似乎对要求过于苛刻。
  • 那么有什么方法可以在 xml 文件中定义角色权限,或者任何其他变通方法或其他方法来获得 方法级安全性permissions 而不是角色一起使用,并且不使用 ACL。
  • 如果没有办法只能使用ACL,那么请给我一个很好的例子

【问题讨论】:

    标签: spring-security


    【解决方案1】:

    请阅读以下网站上的文章: http://springinpractice.com/2010/10/27/quick-tip-spring-security-role-based-authorization-and-permissions/

    主要是您需要实现 UserDetails 接口。它说 “UserDetails 接口只是通过 getAuthorities() 方法公开权限(而不是角色)”

    【讨论】:

    • 我知道这个解决方案,我正在考虑一种方法来映射角色和它在配置中的权限,而不是通过 ACL。
    • 无论如何,上述解决方案对我来说都很好,通过将权限发布到用户详细信息而不是角色中。
    猜你喜欢
    • 2020-11-30
    • 1970-01-01
    • 2011-02-19
    • 2019-07-29
    • 2016-12-25
    • 2010-10-26
    • 2015-10-28
    • 2020-02-21
    相关资源
    最近更新 更多