Spring Security 中有一些概念和实现,例如获取 authority
以授权/控制访问的接口
GrantedAuthority
。
我希望将其转化为可行的操作,比如 createSubUsers
或 deleteAccounts
,我想要允许 admin
(具有 ROLE_ADMIN
角色)进行这些操作。
我在网上看了一些教程和示例,但越看越混乱。
我看到 hasRole
参数是一个字符串(String
)?在 Spring Security 中 hasRole
、GrantedAuthority
这些概念到底是什么?
如何将用户的角色与该角色的权限分开存储?
我还看了 AuthenticationProvider
引用的 DAO 中使用的接口,该接口需要一个:org.springframework.security.core.userdetails.UserDetails
User
(注意最后的GrantedAuthority
参数)
public User(String username,
String password,
boolean enabled,
boolean accountNonExpired,
boolean credentialsNonExpired,
boolean accountNonLocked,
Collection<? extends GrantedAuthority> authorities)
还有其他区分这两者的方法吗?或者它们没有支持,必须自己创建?