PreReq:
ユーザーがログインし、userService のカスタム実装を使用してデータベースから取得したロールが付与されます。すなわち
authentication-provider user-service-ref="securityPolicyService"
実装されたメソッドloadUserByUsernameが呼び出され、ユーザーがログインしている特定のクラブのロールがロードされます。デフォルトのロールは初めてロードされます。
次に、ユーザーが UI から別のクラブをクリックすると、このクラブの権限の新しいリストを取得するサービスのメソッドが呼び出されます。
次に、次のことを実行します。
Object principle = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
SecureMember sm = (SecureMember) principle;
Authentication auth =
new UsernamePasswordAuthenticationToken(sm, null, newAuthories); <br><br>
SecurityContextHolder.getContext().setAuthentication(auth);<br>
request.getSession(false).invalidate();
SecureMember は、SpringFramework から User を拡張します。
問題は、SecureMember 権限が新しい権限で更新されないことです。
ありがとうゲイリー