Spring security Spring security具有SimpleGrantedAuthority,但其角色不是';行不通

Spring security Spring security具有SimpleGrantedAuthority,但其角色不是';行不通,spring-security,Spring Security,我有以下代码 private static Collection<? extends GrantedAuthority> readAuthorities(DecodedJWT jwt) { ... return authorities; } 但是当我进入需要管理员许可的网站时,我得到了403 我错过了什么 事实证明,spring security会自动在.hasRole()和@Secured之类的角色安全要求前面加上“角色”。因此,当您将角色分配给用户时,

我有以下代码

 private static Collection<? extends GrantedAuthority> 
 readAuthorities(DecodedJWT jwt) {
    ...
    return authorities;
 }
但是当我进入需要管理员许可的网站时,我得到了403

我错过了什么


事实证明,spring security会自动在.hasRole()和@Secured之类的角色安全要求前面加上“角色”。因此,当您将角色分配给用户时,必须在角色前面加上“角色”。如果这让人困惑,请让我知道,我将更深入地介绍我项目中的示例,我在过去12个小时里一直在做这个项目,现在没有时间。

您的安全类需要扩展“WebSecurity ConfigureAdapter”,并用“@Configuration”和“@EnableWebSecurity”对其进行注释。可能是这样的,但我看不出你的样品。当您删除antMatchers角色时,它工作吗?它已经有注释是,如果我删除该行并仅依靠身份验证,它工作。如果您希望直接通过授权的权限而不是角色进行检查,则可以使用
hasAuthority
方法。
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    http.antMatchers(ADMIN).hasRole(Role.ADMIN.getRoleName())
    ....
}
// Role.ADMIN.getRoleName() == "Admin"