PrettyFaces 3.3.3 を使用しています。ユーザーがページを表示しようとしてログインしていない場合、ログイン ページに送信され、表示したい元のページにリダイレクトされるという要件があります。これに最適なアプローチは何でしょうか。
1 に答える
おそらく、ここでセキュリティ フレームワークが必要になるでしょう。基本的な考え方は、要求された URL をセキュリティ フィルターでインターセプトし、それをユーザーのセッションに保存し、認証が完了したら (たとえば、ユーザーが資格情報を使用してフォームを送信したか、使用しているメカニズムが何であれ)、ということです。ユーザーのセッションから保存された URL を取得し、それに 302 リダイレクトを実行します。
これは、PrettyFaces が直接あなたを助けるものではありませんが、それを使用して URL をより簡単にキャプチャすることができます。PrettyContext.getCurrentInstance(request).getRequestURL();
これに関する記事があります: http://ocpsoft.org/java/jsf-java/spring-security-what-happens-after-you-log-in/
OCPsoft Rewrite (PrettyFaces 4 のコア) を使用すると、これをプログラムで行うこともできます。また、セキュリティ ルールまたは注釈構成で直接認証を行うこともできます: https://github.com/ocpsoft/prettyfaces/blob/master/annotations/src /test/java/org/ocpsoft/prettyfaces/annotation/jaas/JaasRolesBean.java
これは今後の機能ですが、まだ完全ではありません。フィードバックをお待ちしております。