2016-12-26 6 views
3

私は統合の過程にある春のセキュリティの外にカスタム認証の実装を持っています。春のカスタム認証ユーザー

私は、既存のUserモデルに基づいてauthプロセスの一部としてSpring Userを生成しています。

getAuthority関数を除いてすべてが正常に動作しているようです。

私はUserDetailsを実装している私のUserモデルで以下を持っています。

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

しかし、私は以下の応答を得ています。

「メッセージ」:「付与された権限のテキスト表現を必要とする」、

私は私が私のDBに正しいROLESの生成をしないのです信じています。現在private String roleは「USER」です。

私はこの質問だと思います。

これが正しく機能するようにするための役割フィールドの正しい形式と、この役割を挿入する最適な方法は何ですか?

答えて

2

によって異なります。

Springのデフォルトのセキュリティ構成を使用している場合は、接頭辞「ROLE_」が必要です。 通常、基本値はROLE_USERROLE_ADMINです。

そうでない場合は、カスタム設定を確認してください。

関連質問:

  1. Custom security configuration
  2. Adding additional roles
+0

提案をいただきありがとうございます。あなたが提案したプレフィックスのDBを変更しましたが、私はまだ同じ応答を得ています。送信したリンクを確認します。 – Yonkee

+0

あなたは正しいです。私はまだ、役割のないダミーのユーザーオブジェクトを使用していたことに気がつきました。私はちょうどあなたの提案された接頭辞を使用してDBから引っ張るように更新し、それは今働いているご協力いただきありがとうございます。 – Yonkee