20.4.1 認証の理解
認証について学習します。
20.4.1.1 認証の仕組み
アプリケーションがユーザーとどのように対話するかを決定します。すべてのユーザーが同じ権限を持つ場合、そのユーザーはパブリック・ユーザーとみなされます。ただし、アプリケーションが各ユーザーを個別に追跡する必要がある場合は、認証方式を指定する必要があります。
認証は、アプリケーションにアクセスする各ユーザーのアイデンティティの証明を行います。多くの認証プロセスで、ユーザーはなんらかの資格証明(ユーザー名とパスワードなど)を提供する必要があります。これらの資格証明は評価され、合格または不合格のいずれかとなります。資格証明が合格した場合、ユーザーはアプリケーションにアクセスできます。そうでない場合は、アクセスが拒否されます。
ユーザーの本人確認が行われると、Application Expressエンジンが組込み置換文字列APP_USER
の値を設定して、各ユーザーを追跡します。ユーザーがページ間をナビゲートすると、Application ExpressエンジンがAPP_USER
の値を設定して、本人確認を行います。Application Expressエンジンは、各ユーザーのセッション・ステートを追跡するための重要なコンポーネントとしてAPP_USER
を使用します。
プログラミングの観点では、次の構文を使用してAPP_USER
にアクセスできます。
-
PL/SQLまたはSQLのいずれかのバインド変数として使用する場合
:APP_USER
-
PL/SQLパッケージおよびトリガーを使用する場合
V('APP_USER')
-
コンテキストAPEX$SESSIONの属性として使用する場合
sys_context('APEX$SESSION', 'APP_USER')
APP_USER
を使用すると、独自のセキュリティ・チェックおよび条件付き処理を実行できます。たとえば、次の表を作成したと想定します。
CREATE TABLE my_security_table ( user_id VARCHAR2(30), privilege VARCHAR2(30));
表を作成したら、この表にユーザー権限情報を移入して、ページ、タブ、ナビゲーション・バー、ボタン、リージョン、または、その他のコントロールやコンポーネントの表示の制御に使用できます。
関連項目:
親トピック: 認証の理解
20.4.1.2 ディープ・リンクのサポートについて
認証スキームを使用するOracle Application Expressアプリケーションでは、ディープ・リンクがサポートされています。ディープ・リンクは、コンテキスト外(たとえば、電子メールのハイパーリンクまたはワークフロー通知から)のOracle Application Expressページにリンクする機能を指します。コンテキスト外のページにリンクし、そのアプリケーションでユーザー認証が必要な場合、ログイン・ページが表示されます。資格証明の検証後、Application Expressエンジンは元のリンクで参照されていたページを自動的に表示します。
親トピック: 認証の理解
20.4.1.3 認証を含めるかどうかの決定について
アプリケーションを作成する場合、認証を含めるかどうかを決定する必要があります。次の選択肢があります。
-
認証不要の選択。Oracle Application Expressはすべてのユーザーの資格証明をチェックしません。アプリケーションのすべてのページには、すべてのユーザーからアクセスできます。
-
組込み認証スキームの選択。使用可能な事前構成済の認証スキームに基づいて、認証方式を作成します。選択するスキームによっては、Oracle 10giAS、Oracle Internet Directoryまたは他の外部サービスの対応するコンポーネントを構成する必要もあります。
-
カスタム認証スキームの作成。カスタム認証方式を作成すると、認証インタフェースを完全に制御できます。この方法を実装するには、Application Expressエンジンが各ページ・リクエストを処理する前に実行するPL/SQLファンクションを提供する必要があります。このファンクションのブール戻り値によって、Application Expressエンジンが通常どおりにページを処理するか、または失敗ページを表示するかが決まります。
親トピック: 認証の理解