認証および許可

認証と許可のサポートは、以下の方法によって提供できます。
以下の場合は、JEE セキュリティーを使用して Rich UI アプリケーションを保護することを 検討してください。
以下の場合は、カスタム・セキュリティーを使用して Rich UI アプリケーションを保護 することを検討してください。

Web コンテナー管理の (JEE) セキュリティー

Web コンテナー管理のセキュリティー では、ユーザー認証と許可の責務をコンテナーにゆだねることで、EGL の開発者が ビジネス・ロジックに集中できます。

JEE 認証には、 基本と Form ベースの 2 つの一般的なタイプがあります。JEE 基本認証 (HTTP 基本認証とも呼ばれます) では、ブラウザーなどのクライアントがユーザー ID とパスワードを提供せずにサーバーに対して Web ページを要求すると、サーバーは応答コード 401 を返します。 これを受けて、クライアントでは、デフォルトのログイン・ダイアログをユーザーに表示 することにより、ユーザー ID とパスワードを要求するプロンプトをユーザーに出します。 クライアントは、ユーザー ID とパスワードを HTTP ヘッダーに含めて、要求を サーバーに再送します。ユーザーが認証されると、サーバーは、要求されたページを 返します。ユーザー ID とパスワードが無効であれば、サーバーは応答コード 401 を 返し、クライアントはユーザーに再度プロンプトを出します。 JEE Form ベース認証では、ブラウザーの提供するログイン・ダイアログに代えて、 アプリケーションのルック・アンド・フィールを持つ、カスタマイズしたログイン画面を 使用できます。ユーザー ID とパスワードは要求の HTTP ヘッダーではなく、フォーム・データに 含めてサーバーに渡されます。

JEE セキュリティーでは、ロールを使用して、 リソースへのアクセスが管理されます。特定のロールに対して、特定のリソースへのアクセスが 許可されます。ユーザーとグループは、適切なロールにマップされます。例えば、 ユーザー bob を、ロール管理者にマップするなどします。

JEE 許可は、 宣言型またはプログラマチックにすることができます。宣言型の許可を使用できるのは、 セキュリティー情報がデプロイメント記述子内に指定されるためです。アプリケーション・サーバー では、これらのデプロイメント記述子にアクセスして、特定のユーザーにロールが割り当てられているかどうかを判断したり、このロールによって特定のリソースにアクセスできるかどうかを 決定したりします。JEE セキュリティーには、isUserInRole() などの API を使用するプログラマチックな許可 も組み込まれていますが、これらの関数は Rich UI アプリケーション内からは使用できません。 したがって、Rich UI アプリケーションでは、宣言型によるか、カスタムな、ユーザー提供の コードを介するかのいずれかにより、許可を実行する必要があります。

JEE セキュリティーと組み合わせて使用される Lightweight Directory Access Protocol (LDAP) ディレクトリー・サーバーやリレーショナル・データベースなどのユーザー・レジストリーは、JEE 環境の外部にあります。システム管理者が、リポジトリーへの新規ユーザーの追加などの 管理作業を行う必要があります。

JEE セキュリティーは、WebSphere Application Server および Apache Tomcat を介して使用できますが、 ワークベンチからは使用できません。セキュリティーを適用およびテストするには、Rich UI アプリケーションを WebSphereまたは Tomcat にデプロイする必要があります。

実際の状態に対して JEE セキュリティーが 適切であるかどうかを決定するには、この章に示されている資料および、ご使用のアプリケーション・サーバーに関する詳細なオンライン・ドキュメンテーションを参照してください。

アプリケーション管理の (カスタム) セキュリティー

Web コンテナー管理のセキュリティーが ニーズに適さないときは、Rich UI アプリケーションに内カスタム・セキュリティーを 組み込むことができます。カスタム・セキュリティーでは、セキュリティー関連コードを Rich UI アプリケーションに追加する必要がありますが、JEE セキュリティーのみでは、アプリケーションの セキュリティー・モデルを表現するために十分でない場合は、カスタム・セキュリティーの使用を避けられません。両方の 形式のセキュリティーを組み合わせることもできます。

カスタム認証では、JEE ロールよりも細分度の高い許可を 与えることができます。カスタム・セキュリティーは、 ユーザーがアプリケーションの制限付き部分にアクセスする前にユーザーを認証する ために使用できます。


フィードバック