有概念和实现Spring Security的,如GrantedAuthority
界面得到一个权威授权/控制的访问.
我希望这是允许的操作,例如createSubUsers或deleteAccounts,我允许管理员(带角色ROLE_ADMIN
).
我在网上看到的教程/演示让我感到困惑.我尝试连接我读到的内容,但我认为我们可以互换地对待这两者.
我看到hasRole
消费了一个GrantedAuthority
字符串?我肯定在理解上做错了.这些概念在Spring Security中是什么?
如何存储用户的角色,与该角色的权限分开?
我也在查看在org.springframework.security.core.userdetails.UserDetails
身份验证提供程序引用的DAO中使用的接口,它使用了一个User
(注意最后的GrantedAuthority):
public User(String username,
String password,
boolean enabled,
boolean accountNonExpired,
boolean credentialsNonExpired,
boolean accountNonLocked,
Collection<? extends GrantedAuthority> authorities)
Run Code Online (Sandbox Code Playgroud)
或者还有其他方法可以区分其他两个吗?或者它不受支持,我们必须自己制作?
我正在尝试使用权限设置基于角色的安全性.我正在尝试与Spring-Security一起完成这项工作.
我不想设置ACL,因为它似乎对我的要求有点过分.
我只想拥有本文所述的简单权限和角色.遗憾的是,该文章没有描述如何实现给定的解决方案.
有人已经尝试过这个并且可以指出我正确的方向吗?也许还有另一篇描述实施的博客文章?
非常感谢你.
我试图在Spring安全性中实现Hierarchical角色,并根据spring源文档在我的xml文件中添加了以下配置.
<bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<property name="hierarchy">
<value>
ROLE_ADMIN > ROLE_PRO
ROLE_PRO > ROLE_PREMIUM
ROLE_PREMIUM > ROLE_BASIC
ROLE_BASIC > ROLE_ANONYMOUS
</value>
</property>
</bean>
<bean id="roleVoter"
class="org.springframework.security.access.vote.RoleHierarchyVoter">
<constructor-arg ref="roleHierarchy"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我已尝试使用上面的行但我得到访问拒绝,而ROLE_ADMIN尝试访问分配给ROLE_BASIC的URL.我是否需要添加更多内容.我在Spring网站上找到了除了那些行之外的其他内容.另外,如果您知道Hierarchical角色的任何良好实现,请提及它们.