私は春のセキュリティを使用してユーザーを認証しています。ユーザーは第三者によって認証され、アプリケーションに到達すると既に認証されます。 これを実装するには、Authenticationオブジェクトをシミュレートしました。春のセキュリティ - 認証を作成するためのユーザー名とパスワードが必要ですか
私はユーザー名とパスワードを持っておらず、代わりに識別子を持っています。この識別子が有効かどうか、私のカスタムコードを使用していないかどうかを確認します。次のように
私のクエリは次のとおりです。
は私が認証オブジェクトを作成するためのユーザー名とパスワードが必要でください。 私はユーザー名とパスワードを提供せずに済んでおり、私のアプリケーションは正常に動作します。
私は春のセキュリティを正しく使用していることを確認したいだけです。
認証オブジェクトにユーザー名とパスワードを入れないと、影響はありません。 AbstractUserDetailsAuthenticationProvider:
//ユーザーが入力した元の資格情報を返すようにしてください。 //エンコードされたパスワードでもそれ以降の試行は成功します。
私はカスタムプロバイダも実装しています。
- 上記のコメントは何を意味しますか?
- 私のアプローチは正しいですか?
こんにちはマニッシュ、ありがとう。私はすでに上記のようにして、私のアプリケーションは正常に動作しています。私はセキュリティに関する専門家ではないので尋ねたので、私のアプローチが正しいかどうかを確認したいと思っていました。上記のテキストは、いくつかの春のセキュリティ文書から引用されていますか?また、getPrinciple()は認証に使用した識別子を返します。識別子はユーザ名ではなく、特定のユーザの一意の値です。私は私のケースでは、元々記載された理由でユーザー名/パスワードを使用して認証していないので、フォームのログインを使用しません。 –
詳細は私のカスタムAuthenticationProviderとAuthenticationFilterの実装経験からです。はい、ユーザーまたはセッションごとに一意である限り、プリンシパルとして認証識別子を使用する必要があります。この方法では、認証トークンが乱されることはありません。セッションごとの識別子を使用する場合、同時セッション制御やRemember-Meなどの機能は、ユーザーごとの一意のプリンシパルに依存するため、すぐには機能しません。 – manish