Spring Security中有一些概念和实现,例如GrantedAuthority
接口用于获取权威来授权/控制访问。
我想允许的操作,如createSubUsers,或deleteAccounts,我将允许一个管理(与角色ROLE_ADMIN
)。
当我在网上看到教程/演示时,我感到困惑。我试图把我读到的东西联系起来,但我认为我们可以互换地对待这两者。
我看到hasRole
消耗一个GrantedAuthority
字符串?我的理解肯定是错的。Spring Security中的这些概念是什么?
我如何存储用户的角色,与该角色的权限分开?
我还查看了在身份验证提供程序引用的DAO中使用的org.springframework.security.core.userdetails.UserDetails
接口,该接口使用User
(注意last GrantedAuthority):
public User(String username,
String password,
boolean enabled,
boolean accountNonExpired,
boolean credentialsNonExpired,
boolean accountNonLocked,
Collection<? extends GrantedAuthority> authorities)
或者有没有别的方法来区分这两个?或者它没有支持,我们必须自己做?