我正在尝试使用权限设置基于角色的安全性。我正在尝试与 Spring-Security 一起做到这一点。
我不想设置 ACL,因为这对于我的要求来说似乎有点过分了。
我只想拥有简单的权限和角色,如此处所述article http://springinpractice.com/2010/10/27/quick-tip-spring-security-role-based-authorization-and-permissions/。
不幸的是,本文没有描述如何实现给定的解决方案。
有人已经尝试过这个并可以指出我正确的方向吗?也许还有另一个博客条目描述了实现?
非常感谢。
我是相关文章的作者。
毫无疑问,有多种方法可以做到这一点,但我通常采用的方法是实现自定义UserDetails
了解角色和权限。Role
and Permission
只是您编写的自定义类。 (没有什么花哨 -Role
有一个名字和一组Permission
实例,以及Permission
有一个名字。)然后getAuthorities()
回报GrantedAuthority
看起来像这样的对象:
PERM_CREATE_POST
, PERM_UPDATE_POST
, PERM_READ_POST
而不是返回类似的东西
ROLE_USER
, ROLE_MODERATOR
如果您的角色仍然可用UserDetails
实施有一个getRoles()
方法。 (我建议拥有一个。)
理想情况下,您将角色分配给用户,并自动填充相关的权限。这将涉及有一个定制UserDetailsService
它知道如何执行该映射,它所要做的就是从数据库中获取映射。 (有关架构,请参阅文章。)
然后,您可以根据权限而不是角色来定义授权规则。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)