0

私の仕事は、既存の JSF アプリケーションを JAX-RS Web サービスと JSF Web クライアントに分割することです。分割はビジネス層で行う必要があります。クライアントとサーバーの両方が異なる JBoss AS7.1 で実行される必要があります。現在、両方の側でコンテナー管理認証が使用されています。JSF クライアントは、ロール CUST を持つユーザーには uri パス /customers/* へのアクセスを許可し、ロール ADMIN を持つユーザーには /admin/* へのアクセスのみを許可します。もちろん、Web サービスは彼のリソースも保護します (役割: CUST & AMDIN)。Webサービス部分の認証は私には明らかです。私の質問は、JSF クライアントに適切な認証を提供する方法です。私には3つの可能性があります:

  1. 双方が独自の認証を管理 (同期が困難) 2 つの JBoss アプリケーション サーバー間で認証済みユーザーを同期する方法はありますか?
  2. 両側が独自の認証資格情報を管理し、JSF クライアントは各要求とともにUsernamePasswordCredentialsWeb サービスに送信します
  3. コンテナー管理認証は、Web サービス側でのみ行われます。JSF クライアントは情報を要求しようとし、「ピアが認証されていません」などの応答があった場合、JSF クライアントはユーザーに資格情報の入力を強制し、再度要求を実行します。UsernamePasswordCredentials

これらの 3 つのアプローチのどれが (または実行可能かどうか) 実現可能かどうか、私にはまったくわかりません。残念ながら、ベストプラクティスのアプローチをウェブで検索しましたが、成功しませんでした。

この問題に対する既知のベスト プラクティス アプローチはありますか、またはこの問題を解決する方法のヒントを教えてください。

4

1 に答える 1

1

広告 1. はい、認証にOAuthでCASまたはOpenIDを使用できます

広告 2. これは「真の REST」アプリケーションの世界では一般的なアプローチです。各呼び出しはステートレスであり、毎回ユーザー資格情報を渡してチェックする必要があります。

広告 3. JSF アプリケーションに認証なしでアクセスできるデータのみが含まれている場合 (JSF はプレーンなテンプレートです)、それは合理的な解決策です。

于 2013-05-21T16:32:42.603 に答える