概要¶
基本認証フローについて¶
認証機能では、ログイン処理などでユーザ情報を利用した認証処理を行います。
認証処理は、認証APIを呼び出すことで実行されます。
認証APIは、いくつかの認証プロバイダ・プラグインを呼び出すことで認証処理を実現しています。
ログイン処理における、認証フローを以下に図示します。
![]()
図 基本認証フロー
処理対象のテナントについて¶
一般ユーザ用認証プロバイダ・プラグインの場合
処理する認証プロバイダ・プラグインによって、対象となるテナントが異なります。図の「対象のテナント」を参照してください。ただし、リクエスト情報を利用したテナント自動解決機能を有効にした場合、常に自動解決されたテナントが対象となります。システム管理者用認証プロバイダ・プラグインの場合
常にデフォルトテナントが対象となります。
認証APIについて¶
ログイン処理中に、認証APIは以下の処理を行います。
- 初期リクエスト解析
- ログインページ取得
- ログイン
- 遷移先ページ取得
初期リクエスト解析¶
初期リクエスト解析プロバイダ を呼び出します。
ログインページ取得¶
ログインページ・プロバイダ を呼び出します。
ログイン¶
以下の処理を順に実行します。
- リクエスト解析プロバイダ を呼び出します。
- アカウント情報を取得して、ログイン可否をチェックします。
- 認証条件判定プロバイダ を利用して、 認証プロバイダ を決定します。
- 認証プロバイダ を呼び出し、認証を行います。
- アカウントコンテキストを切り替えてログイン状態にします。
- 認証リスナ を呼び出します。
遷移先ページ取得¶
遷移先ページ・プロバイダ を呼び出します。 遷移先が取得できなかった場合、アカウントコンテキストのホームURLプロパティを取得します。
認証プロバイダ・プラグインについて¶
認証機能の主な処理を行う個別の拡張可能なモジュールを、「認証プロバイダ・プラグイン」と呼びます。認証プロバイダ・プラグインはプラグイン化されており、新しいプラグインを追加することで、 認証機能の動作を変更することができます。これにより、要件に合わせて認証方式を変更することが可能です。認証プロバイダ・プラグインは 一般ユーザとシステム管理者用が用意されており、別々の認証方式を利用することが可能です。以下に認証プロバイダ・プラグインの一覧と、役割について解説します。
初期リクエスト解析プロバイダ¶
ログイン画面表示時に送信されたリクエスト情報を解析して、ログイン情報を設定します。ログイン情報を変更することで、ログイン後のロケールやタイムゾーンを設定することが可能です。ログイン情報の詳細については、APIリストの LoginRequestInfo クラスを参照してください。intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。
リクエスト解析プロバイダ¶
ログイン実行時に送信されたリクエスト情報を解析して、ログイン情報を設定します。ログイン情報を変更することで、ログイン後のロケールやタイムゾーンを設定することが可能です。ログイン情報の詳細については、APIリストの LoginRequestInfo クラスを参照してください。intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。このプロバイダは、ユーザコード、パスワード、遷移先ページ情報をログイン情報に設定します。
認証プロバイダ¶
ログイン情報などを利用して、実際の認証処理を実行します。intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。このプロバイダは、ログイン情報に設定されたパスワードとアカウント情報のパスワードの比較を行います。
認証リスナ¶
認証処理の後処理を実行します。認証結果を基に、ログの出力や通知処理などを実行するために利用します。このプロバイダの実行時は、ログインが完了し、認証済みのアカウントコンテキストが生成されています。 ただし、トランザクションはまだコミットされていません。intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。
ログインページ・プロバイダ¶
ログイン画面用のページパス情報を取得します。ここで取得されるパスは、 PageManager API の forward() メソッドで利用されるパス情報であり、URLではないので注意してください。intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。このプロバイダは、PageManager API の getPageUrl() メソッドを利用して、標準のログイン画面のページパスを取得します。
遷移先ページ・プロバイダ¶
ログイン成功時に遷移する画面のページパス情報を取得します。ここで取得されるパスは、 PageManager API の redirect() メソッドを利用してリダイレクトするURL情報です。intra-mart Accel Platform の初期状態では、標準のプロバイダが設定されています。このプロバイダは、ログイン情報に設定された遷移先情報またはセッションに設定された遷移先情報からページパス情報を取得します。すべての 遷移先ページ・プロバイダ で情報が取得できなかった場合、認証APIはアカウントコンテキストのホームURLを取得します。