私の仕事は、既存の JSF アプリケーションを JAX-RS Web サービスと JSF Web クライアントに分割することです。分割はビジネス層で行う必要があります。クライアントとサーバーの両方が異なる JBoss AS7.1 で実行される必要があります。現在、両方の側でコンテナー管理認証が使用されています。JSF クライアントは、ロール CUST を持つユーザーには uri パス /customers/* へのアクセスを許可し、ロール ADMIN を持つユーザーには /admin/* へのアクセスのみを許可します。もちろん、Web サービスは彼のリソースも保護します (役割: CUST & AMDIN)。Webサービス部分の認証は私には明らかです。私の質問は、JSF クライアントに適切な認証を提供する方法です。私には3つの可能性があります:
- 双方が独自の認証を管理 (同期が困難) 2 つの JBoss アプリケーション サーバー間で認証済みユーザーを同期する方法はありますか?
- 両側が独自の認証資格情報を管理し、JSF クライアントは各要求とともに
UsernamePasswordCredentials
Web サービスに送信します - コンテナー管理認証は、Web サービス側でのみ行われます。JSF クライアントは情報を要求しようとし、「ピアが認証されていません」などの応答があった場合、JSF クライアントはユーザーに資格情報の入力を強制し、再度要求を実行します。
UsernamePasswordCredentials
これらの 3 つのアプローチのどれが (または実行可能かどうか) 実現可能かどうか、私にはまったくわかりません。残念ながら、ベストプラクティスのアプローチをウェブで検索しましたが、成功しませんでした。
この問題に対する既知のベスト プラクティス アプローチはありますか、またはこの問題を解決する方法のヒントを教えてください。