概要
spring web サービスと spring security を使用して web サービスクライアントのセッションを取得するにはどうすればよいですか?
詳細
提出後
<form method="POST" action="<c:url value="/j_spring_security_check" />">...</form>
次のことができることに気付きました。
public class MyUserDetailsService implements UserDetailsService {}
loadUserByUsername(String username)
これにより、送信されたユーザー名を取得し、データベース ルックアップを実行してユーザー オブジェクトを返すことができるように、メソッドをオーバーライドできます。
ただし、私が抱えている問題は、どこSecurityContextHolder
に設定されるかわからないことです。次のコード行を使用して、ユーザー オブジェクトを取得できます。
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
しかし、そもそもどのように設定されるのかわかりません。上記のフォームを送信してからの流れを知りたいので、どのようSecurityContextHolder
に設定されているかを知りたいです。
これを知りたい理由は、クライアントがリクエストごとに資格情報を再送信するのではなく、Web サービス クライアント認証の「セッション」として使用したいからです。
春のバージョン: 3.0.2.RELEASE