intra-mart Accel Platform 認証仕様書 第7版 2023-04-01

4.3.2. システム管理者の認証プロバイダ・プラグイン

システム管理者のログイン処理フロー 」で説明した、システム管理者のログイン処理で利用する認証プロバイダ・プラグインと、 intra-mart Accel Platform の標準で提供されるプロバイダ(以下、標準プロバイダ)の動作について説明します。

4.3.2.1. システム管理者の認証プロバイダ・プラグインの概要

認証プロバイダ・プラグインについては、一般ユーザの説明 「 一般ユーザの認証プロバイダ・プラグインの概要 」 を参照してください。
以下に、システム管理者用の認証プロバイダ・プラグインの詳細について説明します。

4.3.2.2. 認証プロバイダ・プラグイン一覧

認証機能で提供されるシステム管理者用の認証プロバイダ・プラグインは、以下の通りです。
「対象のテナント」は、リクエスト情報を利用したテナント自動解決機能を利用しない場合の処理対象です。
リクエスト情報を利用したテナント自動解決機能の詳細は「intra-mart Accel Platform セットアップガイド」 - 「テナント解決機能」 - 「リクエスト情報を利用したテナント自動解決機能について」 を参照してください。
表 システム管理者用認証プロバイダ・プラグイン一覧
プロバイダ名 概要 拡張ポイント 対象のテナント
初期リクエスト解析プロバイダ ログイン画面表示時に送信されたリクエスト情報を解析して、ログイン情報を設定します。 jp.co.intra_mart.security.administrator.initial_request_analyzer デフォルトテナント
ログインページプロバイダ ログイン画面用のページパス情報を取得します。 jp.co.intra_mart.security.administrator.login_page デフォルトテナント
リクエスト解析プロバイダ ログイン実行時に送信されたリクエスト情報を解析して、ログイン情報を設定します。 jp.co.intra_mart.security.administrator.login_request_analyzer デフォルトテナント
認証条件判定プロバイダ 認証プロバイダを利用するための条件判定を行います。 (認証プロバイダの追加情報として定義) デフォルトテナント
認証プロバイダ ログイン情報などを利用して、実際の認証処理を実行します。 jp.co.intra_mart.security.administrator.certification デフォルトテナント
認証リスナ 認証処理の後処理を実行します。 (認証プロバイダの追加情報として定義) デフォルトテナント
遷移先ページプロバイダ ログイン成功時に遷移する画面のページパス情報を取得します。 jp.co.intra_mart.security.administrator.target_page デフォルトテナント

4.3.2.3. 認証プロバイダ・プラグインの詳細

各認証プロバイダ・プラグインの役割は、一般ユーザ用と同じです。
一般ユーザ用の認証プロバイダ・プラグインの説明 「 認証プロバイダ・プラグインの詳細 」 を参照してください。
ここでは、システム管理者用インタフェース一覧と標準プロバイダの動作のみ説明します。

4.3.2.3.1. システム管理者用インタフェース一覧

表 システム管理者用インタフェース一覧
プロバイダ名 インタフェース
初期リクエスト解析プロバイダ jp.co.intra_mart.foundation.security.certification.provider.RequestAnalyzer (一般ユーザ用と共用)
リクエスト解析プロバイダ jp.co.intra_mart.foundation.security.certification.provider.RequestAnalyzer (一般ユーザ用と共用)
認証プロバイダ jp.co.intra_mart.foundation.security.certification.provider.AdministratorCertification
認証条件判定プロバイダ jp.co.intra_mart.foundation.security.certification.provider.AdministratorCertificationValidation
認証リスナ jp.co.intra_mart.foundation.security.certification.provider.AdministratorCertificationListener
ログインページプロバイダ jp.co.intra_mart.foundation.security.certification.provider.LoginPageProvider (一般ユーザ用と共用)
遷移先ページプロバイダ jp.co.intra_mart.foundation.security.certification.provider.TargetPageProvider (一般ユーザ用と共用)

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

intra-mart Accel Platform の初期状態では、標準プロバイダが設定されています。
標準プロバイダは、アクセス元の IP アドレスを取得して、アクセスが許可されている IP アドレスの範囲内かどうかを確認します。
このプロバイダの詳細については、 「 IPアドレスによるアクセス制限 」 を参照してください。

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

intra-mart Accel Platform の初期状態では、標準プロバイダが2つ設定されています。
1つ目の標準プロバイダは、初期リクエスト解析プロバイダと共通で、 「 IPアドレスによるアクセス制限 」 のためのプロバイダです。
2つ目の標準プロバイダは、一般ユーザ用と共通で、ユーザコード、パスワード、遷移先ページパスをログイン情報に設定します。

4.3.2.3.4. 認証プロバイダ

intra-mart Accel Platform の初期状態では、標準プロバイダが設定されています。
標準プロバイダは、ログイン情報に設定されたパスワードとシステム管理者情報のパスワードの比較を行います。

4.3.2.3.5. 認証条件判定プロバイダ

intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。
このプロバイダが設定されていない場合、該当の認証プロバイダは常に利用対象です。

4.3.2.3.6. 認証リスナ

intra-mart Accel Platform の初期状態では、このプロバイダは設定されていません。

4.3.2.3.7. ログインページプロバイダ

intra-mart Accel Platform の初期状態では、標準プロバイダが設定されています。
標準プロバイダは、PageManager API の getPageUrl() メソッドを利用して、標準のシステム管理者用ログイン画面のページパスを取得します。

4.3.2.3.8. 遷移先ページプロバイダ

intra-mart Accel Platform の初期状態では、標準プロバイダが設定されています。
標準プロバイダは、ログイン情報に設定された遷移先ページパスまたはセッションに設定された遷移先情報からページパス情報を取得します。
ただし、これらに遷移先情報を設定する処理はないため、標準プロバイダが返す値は null です。
そのため、認証APIは常にアカウントコンテキストのホームURL(システム管理者用ホーム画面URL)を取得します。

4.3.2.4. 標準プロバイダの認証フロー

intra-mart Accel Platform の認証モジュールで提供されているシステム管理者用標準プロバイダによる認証フローは以下の通りです。
../../../_images/administrator-provider-flow-standard.png

図 システム管理者の標準プロバイダを利用した場合の認証フロー

図で示した標準プロバイダの実装クラスは、以下の通りです。
表 システム管理者用標準プロバイダ一覧
標準プロバイダ 実装クラス rank
初期リクエスト解析プロバイダ1
jp.co.intra_mart.system.security.certification.provider.impl.AdministratorIPAddressLoginRequestAnalyzer
(リクエスト解析プロバイダ1と共通)
10
ログインページプロバイダ1 jp.co.intra_mart.system.security.certification.provider.impl.StandardAdministratorLoginPageProvider 100
リクエスト解析プロバイダ1
jp.co.intra_mart.system.security.certification.provider.impl.AdministratorIPAddressLoginRequestAnalyzer
(初期リクエスト解析プロバイダ1と共通)
10
リクエスト解析プロバイダ2
jp.co.intra_mart.system.security.certification.provider.impl.StandardLoginRequestAnalyzer
(一般ユーザのリクエスト解析プロバイダ1と共通)
100
認証プロバイダ1 jp.co.intra_mart.system.security.certification.provider.impl.StandardAdministratorCertification 100
遷移先ページプロバイダ1 jp.co.intra_mart.system.security.certification.provider.impl.StandardAdministratorTargetPageProvider 100