0

私は、春のセキュリティとLDAP認証を統合した春の起動Webアプリケーションを用意しています。このWebアプリケーションは内部的にREST呼び出しを行います。これらのREST呼び出しは、ユーザー名とパスワードの認証を受けています。このユーザー名とパスワードは、春のセキュリティで使用されるものと同じです。とにかく、私は春のセキュリティで認証されたusername-passwordを取得できるので、REST呼び出しで使用することができます。この方法でなければ、これを達成する他の方法はありません。春のセキュリティのパスワードを使用してREST呼び出しを認証する

ありがとうございます。

答えて

1

私はあなたのケースに合っていると思うかなり良い方法があります。

デフォルトで、Spring Securityは認証が行われた後にパスワードをメモリに保存しないので、パスワードを変更する必要があります。作業を行った

String username = SecurityContextHolder.getContext().getAuthentication().getName(); 
Object rawPassword = SecurityContextHolder.getContext().getAuthentication().getCredentials(); 
+0

クール、:そして、あなたが現在ユーザーのユーザー名とパスワードを取得することができます

auth.eraseCredentials(false); 

:Javaの設定ファイル、configure(AuthenticationManagerBuilder)方法で追加しますと。ありがとう! – Sarath

0

セキュリティは、セキュリティプロパティのルールに基づいて実行されます。

これは、春のセキュリティを有効にする必要があることを意味します。唯一の問題は、認可されていない場合、習慣のないクライアントが理解できない承認されていないページに移動することです。しかし、Restfulクライアントが認証され、有効なセッションが与えられていれば、Security_checkを通過して保護されたページにアクセスできます。

春のセキュリティはAOPのように機能しているので、保護されている各ページには、認証がある場合にのみページへのアクセスを許可するSecurity_checkのクロスカットがあります。

0

とにかく、LDAP認証を実行し、将来のREST呼び出しのためのユーザー名 - パスワードを取得するカスタム認証プロバイダを作成する問題を解決しました。

関連する問題