Oracle ADF Securityを使用した認証について

Oracle ADFセキュリティでは、指定のリソース・プロバイダに対してユーザーを認証できます。多くのWebベース・アプリケーションで、要求の発信元、つまり認証済ユーザーの判別が必要なサイトの「保護」された領域に対するリンクが存在する場合があります。保護されたページへのリンクをクリックすると、ユーザーが認証されていない(つまり、認証済ユーザーのプリンシパルが現在のSecurityContextに存在しない)場合、Oracle ADFセキュリティ・ログイン・サーブレットがコールされ、Webコンテナによりログイン・ページが起動されます。ユーザー名およびパスワードが送信されると、そのデータがユーザー情報が格納されているリソース・プロバイダ内のデータと比較され、一致するデータがあれば要求の発信元(ユーザー)が認証されます。次に、ユーザー名はSecurityContextに格納され、他のセキュリティ関連情報(ユーザーが所属するグループなど)を権限を判別するために取得する際にアクセスできます。フレームワークではJava Authentication and Authorization Service(JAAS)を実装しているため、認証によってJAAS Subjectが作成されますが、これは要求の発信元を表すものでもあります。

アプリケーションで認証を使用するように構成するには、最初にアプリケーションのコンテナでOracle ADFセキュリティを使用するように構成する必要があります。これにより、ユーザーが認証されると、認証済ユーザーのプリンシパルが SecurityContextに置かれます。手順は、「Oracle ADFセキュリティを使用するためのアプリケーションの構成」を参照してください。

Oracle ADFセキュリティではJAASを使用しているため、LoginContextに依存して認証用の基本メソッドを提供しています。LoginContextは、実際の認証を処理する交換可能なコードであるログイン・モジュールを使用します。異なるタイプの認証を提供する、異なるログイン・モジュールを使用することもできます。たとえば、標準的なユーザー名/パスワード・タイプの認証を実行するログイン・モジュールの場合、別のモジュールで指紋スキャンのような生体認証機能を使用した認証を提供できます。詳細は、アプリケーションで使用しているJavaバージョンのJavadocを参照してください。Oracle ADFセキュリティではデフォルトのログイン・モジュールを提供します。これらのモジュールを使用するか、あるいは自作することもできます。

ログインおよびパスワードの認証に使用するユーザー・データは、データベースまたはLDAPディレクトリのようなリソース・プロバイダの内部に格納されます。詳細は、「リソース・プロバイダについて」を参照してください。

ADF Swingには組込みログイン・ページが提供されていますが、ADF Swingアプリケーション用ログイン・ぺージの生成およびカスタマイズも可能です。

Webベース・アプリケーションでは、web.xmlファイル内のadfAuthenticationサーブレットに対してセキュリティ制約を構成できます。この制約は、認証済セッションを持たずにサーブレットへアクセスすることを防止します。このため、制約で定義されたURLパターンが保護された領域へのリンクに含まれているかぎり、Webコンテナでは認証されていないユーザーに対してログイン・ページを表示します。

注意: adfAuthenticationサーブレットはオプションであり、動的認証を可能にします。まだログインしていないユーザーが認可を必要とするページにアクセスすると、ユーザーはログインをプロンプト要求されます。そのサーブレットではsuccess_url用にオプションのパラメータを受け取ります。success_urlが指定されている場合、ユーザーは正常ログイン後にそのページへ移動します。success_urlが指定されていない場合、ユーザーは正常ログイン後にログイン前のページへ移動します。

adfAuthenticationサーブレットは、正常な認証の後で、要求されたURLを示すURLをプログラムによって取得するため、1回ユーザーが認証されると、ユーザーが認可制約で定義されているとおりにリソースへのアクセス権限を持っているかどうかがアプリケーションで判別できます。この制約の構成およびユーザーまたはロールをアプリケーションに認識させる設定の手順は、「Oracle ADF認証を使用するためのWebアプリケーションの構成」を参照してください。


関連項目
J2EEアプリケーション用のセキュリティの開発
Oracle ADFアプリケーションでのセキュリティの実装
Oracle ADFセキュリティを使用した認証の実装