intra-mart Accel Platform / 認証プログラミングガイド

第2版 2014-04-01

«  はじめに   ::   コンテンツ   ::   認証プロバイダ・プラグイン仕様  »

概要

基本認証フローについて

認証機能では、ログイン処理などでユーザ情報を利用した認証処理を行います。

認証処理は、認証APIを呼び出すことで実行されます。

認証APIは、いくつかの認証プロバイダ・プラグインを呼び出すことで認証処理を実現しています。

ログイン処理における、認証フローを以下に図示します。

../../_images/certification_flow.png

図 基本認証フロー

処理対象のテナントについて

  • 一般ユーザ用認証プロバイダ・プラグインの場合

    処理する認証プロバイダ・プラグインによって、対象となるテナントが異なります。
    図の「対象のテナント」を参照してください。
    ただし、リクエスト情報を利用したテナント自動解決機能を有効にした場合、常に自動解決されたテナントが対象となります。
  • システム管理者用認証プロバイダ・プラグインの場合

    常にデフォルトテナントが対象となります。

認証APIについて

ログイン処理中に、認証APIは以下の処理を行います。

  • 初期リクエスト解析
  • ログインページ取得
  • ログイン
  • 遷移先ページ取得

ログイン

以下の処理を順に実行します。

遷移先ページ取得

遷移先ページ・プロバイダ を呼び出します。 遷移先が取得できなかった場合、アカウントコンテキストのホームURLプロパティを取得します。

認証プロバイダ・プラグインについて

認証機能の主な処理を行う個別の拡張可能なモジュールを、「認証プロバイダ・プラグイン」と呼びます。
認証プロバイダ・プラグインはプラグイン化されており、新しいプラグインを追加することで、 認証機能の動作を変更することができます。
これにより、要件に合わせて認証方式を変更することが可能です。
認証プロバイダ・プラグインは 一般ユーザとシステム管理者用が用意されており、別々の認証方式を利用することが可能です。
以下に認証プロバイダ・プラグインの一覧と、役割について解説します。

初期リクエスト解析プロバイダ

ログイン画面表示時に送信されたリクエスト情報を解析して、ログイン情報を設定します。
ログイン情報を変更することで、ログイン後のロケールやタイムゾーンを設定することが可能です。
ログイン情報の詳細については、APIリストの LoginRequestInfo クラスを参照してください。
intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。

リクエスト解析プロバイダ

ログイン実行時に送信されたリクエスト情報を解析して、ログイン情報を設定します。
ログイン情報を変更することで、ログイン後のロケールやタイムゾーンを設定することが可能です。
ログイン情報の詳細については、APIリストの LoginRequestInfo クラスを参照してください。
intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。
このプロバイダは、ユーザコード、パスワード、遷移先ページ情報をログイン情報に設定します。

認証プロバイダ

ログイン情報などを利用して、実際の認証処理を実行します。
intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。
このプロバイダは、ログイン情報に設定されたパスワードとアカウント情報のパスワードの比較を行います。

認証条件判定プロバイダ

認証プロバイダ を利用するための条件判定を行います。
intra-mart Accel Platform では、プラグインを複数登録することで、複数の 認証プロバイダ を登録することできます。
複数の 認証プロバイダ が登録されている場合に、認証リクエストに対してどの 認証プロバイダ を利用するかを、この 認証条件判定プロバイダ を利用して判定します。
intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。
このプロバイダが設定されていない場合、該当の 認証プロバイダ は常に利用対象となります。

認証リスナ

認証処理の後処理を実行します。
認証結果を基に、ログの出力や通知処理などを実行するために利用します。
このプロバイダの実行時は、ログインが完了し、認証済みのアカウントコンテキストが生成されています。 ただし、トランザクションはまだコミットされていません。
intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。

ログインページ・プロバイダ

ログイン画面用のページパス情報を取得します。
ここで取得されるパスは、 PageManager APIforward() メソッドで利用されるパス情報であり、URLではないので注意してください。
intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。
このプロバイダは、PageManager APIgetPageUrl() メソッドを利用して、標準のログイン画面のページパスを取得します。

遷移先ページ・プロバイダ

ログイン成功時に遷移する画面のページパス情報を取得します。
ここで取得されるパスは、 PageManager APIredirect() メソッドを利用してリダイレクトするURL情報です。
intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。
このプロバイダは、ログイン情報に設定された遷移先情報またはセッションに設定された遷移先情報からページパス情報を取得します。
すべての 遷移先ページ・プロバイダ で情報が取得できなかった場合、認証APIはアカウントコンテキストのホームURLを取得します。

«  はじめに   ::   コンテンツ   ::   認証プロバイダ・プラグイン仕様  »