SecurityContextHolder.getContext().getAuthentication()
サーバー側で現在ログインしているユーザーを取得し、ユーザーに
ログオンします。
ここに質問があります: 3 人のユーザーがログインしているとします。サーバー側は、単にSecurityContextHolder.getContext().getAuthentication();
.
お返事をありがとうございます。
SecurityContextHolder.getContext().getAuthentication()
サーバー側で現在ログインしているユーザーを取得し、ユーザーに
ログオンします。
ここに質問があります: 3 人のユーザーがログインしているとします。サーバー側は、単にSecurityContextHolder.getContext().getAuthentication();
.
お返事をありがとうございます。
デフォルトでは、ここには 3 つの重要事項があります。
SecurityContextHolder
HTTP セッションからの各リクエストの前に入力します (リクエストが完了すると、認証オブジェクトを保存します)ThreadLocal
- リクエスト処理中に認証オブジェクトを保存します認証後、対応するSecurityContext
オブジェクトが HTTP セッションに格納されます。各リクエスト処理スペシャルSecurityContextPersistenceFilter
が起動される前。SecurityContext
HTTP セッションから (インスタンスを介して) オブジェクトをロードし、オブジェクトSecurityContextRepository
を に注入SecurityContext
しますSecurityContextHolder
。詳細については、クラスのソース コードをSecurityContextPersistenceFilter
参照してください。もう 1 つの重要な部分は、デフォルトで変数を使用してオブジェクトをSecurityContextHolder
格納することです (したがって、スレッドごとに異なる認証オブジェクトを持つことになります)。SecurityContext
ThreadLocal
編集。追加の質問:
SecurityContextHolder
、インスタンスではなく、静的メソッドを持つヘルパー クラスです。SecurityContext
されThreadLocal
ます。変数を介してインスタンスSecurityContextHolder
を取得/設定するために使用できるヘルパー クラスです。SecurityContext
ThreadLocal
SecurityContextHolder
を取得/設定するためにすべてのスレッドで使用される同じ静的メソッドを格納します。 SecurityContext
ThreadLocal
variable は、スレッドごとに異なる値を持ちます。