我在集成过程中在Spring Security之外有一个自定义身份验证实现。

我正在基于现有用户模型在身份验证过程中生成一个Spring用户。

除了getAuthority函数外,其他所有东西似乎都工作正常。

我在实现UserDetails的User模型中具有以下内容。

  @Override
    public Set<GrantedAuthority> getAuthorities() {
        Set<GrantedAuthority> authorities = new HashSet<GrantedAuthority>();
        authorities.add(new SimpleGrantedAuthority(this.role));
        return authorities;
    }

但是,我得到以下答复。

“message”:“需要授权的文本表示形式”,

我相信我缺少在数据库中生成正确ROLES的功能。当前private String role是“USER”。

我认为我的问题是这个

我的角色字段的正确格式是什么,以使其正常工作?插入此角色的最佳方法是什么?

最佳答案

这取决于。

如果您使用的是Spring的默认安全配置,则需要“ROLE_”前缀。
通常,基本值是:ROLE_USERROLE_ADMIN

如果不是,请检查自定义配置。

相关问题:

  • Custom security configuration
  • Adding additional roles
  • 10-06 10:20