1

セキュリティ構成が次のように設定された公開ページがあります

<intercept-url pattern="/public/a.jsf" access="permitAll"/>

ただし、そのページには、認証されたユーザーにのみ表示される安全なコンテンツもあります。安全なコンテンツを表示するには、ユーザーはそのページのログイン リンクをクリックする必要があります。このリンクをクリックすると、CAS ログイン ページにリダイレクトされ、認証が成功すると同じページに戻ります。ログインリンクはこちら

<a href="cas_server/login?service=app_server/public/a.jsf">Login</a>

認証の成功や公開ページへのリダイレクトなど、すべてが機能します。ただし、ユーザーが公開ページに戻されると、Spring SecurityContextHolder は取り込まれず、ユーザーは引き続き匿名ユーザーとして表示されます。一方、上記のサービス URL が/private/b.jsfなどの非公開ページであり、ユーザーが b.jsf からa.jsf に戻る場合、securitycontextholder には認証オブジェクトがあり、ユーザーはセキュアなb.jsf のコンテンツ

ログイン後に公開ページへのリダイレクトを実現し、b.jsfを経由せずに securitycontextholder を設定する方法はありますか?

注: ページa.jsf#{bean.authenticated}では、securitycontextholder をチェックし、Anonymous 以外の認証オブジェクトがあるかどうかを確認する Bean メソッドに基づいて、セキュア コンテンツがレンダリングされます。

4

0 に答える 0