14

JSF Web アプリケーションの認証と承認を実装するための最良の方法は何ですか? できれば、プリンシパルを必要とする EJB を呼び出す必要があるため、引き続きコンテナー ベースのセキュリティを使用したいと考えています。

フォームベースの認証が JSF との大きな闘いであることは理解していますが、おそらく PhaseListener などをプログラムによるログオンと一緒に使用して、ユーザーを認証することはできますか?

私がむしろ見なければならない他の方法はありますか?

4

4 に答える 4

4

JSFでJAASを使用するためのブログをチェックしてみてください。 これは、認証と承認のためにJSFを使用してJAASをデプロイする方法の例です。

お役に立てば幸いです。

于 2009-07-27T16:11:10.263 に答える
3

SpringSecurityフレームワークを使用できます。手順はこちらhttp://ocpsoft.com/java/acegi-spring-security-jsf-login-page/を参照してください。

于 2009-07-27T12:56:24.400 に答える
3

私は JSF Seam を使用しており、Seam の組み込みの認証と承認を使用してきましたが、非常に使いやすいことがわかりました。

認証の場合、1 つのメソッドを実装するだけで、public boolean login(String username, a String password) { ... }ブール値が返されます。次に、ページを「ログインが必要」としてマークすると、seam が残りの処理を行います。

承認のために、Seam は@Restrictコントローラーまたはサービス メソッドに配置できるアノテーションを提供し、残りは Seam が処理します。

高度な承認: 役割が動的なSeam を使用して、より高度な承認を処理することもできます。たとえば、掲示板では、@Restrict アノテーションを Java メソッドに委譲するだけで、いくつかの投稿の「作成者」でありながら、「読者」またはその他の投稿です。 .

Seam をご覧になることをお勧めします。Seam は JSF の上にあるレイヤーにすぎないため、技術的には JSF で実行しているにすぎません。何らかの理由で Seam を使用できない場合は、Seam が JSF で認可と認証を処理する方法からアイデアを借りることができます。

于 2009-07-31T19:02:21.073 に答える
2

JSF 2.0 の質問に対するこの回答に示されているように、Servlet 3.0 HttpServletRequest API を使用できます。

JSF 2.0 シンプルログインページ

于 2011-06-03T09:11:41.760 に答える