4.2.1. 一般ユーザのログイン処理フロー¶
一般ユーザのログイン処理の流れについて説明します。
4.2.1.1. 一般ユーザのログイン処理フローの概要¶
ログイン処理では、ユーザが入力した情報などを利用した認証処理を行います。認証処理は、認証APIを呼び出すことで実行されます。認証APIでは、いくつかの認証プロバイダ・プラグインを呼び出すことで認証処理を実現しています。認証APIと認証プロバイダ・プラグインについては、以下で説明します。ログイン処理における、認証処理の流れは以下の通りです。
4.2.1.1.1. 処理対象のテナントについて¶
バーチャルテナントによる複数テナントを利用している場合、処理する認証プロバイダ・プラグインによって、対象となるテナントが異なります。図「一般ユーザのログイン処理フロー」の「対象のテナント」を参照してください。ただし、リクエスト情報を利用したテナント自動解決機能を有効にした場合、常に自動解決されたテナントが対象です。リクエスト情報を利用したテナント自動解決機能の詳細は「intra-mart Accel Platform セットアップガイド」 - 「テナント解決機能」 - 「リクエスト情報を利用したテナント自動解決機能について」 を参照してください。
4.2.1.2. 認証API¶
ログイン処理で実行される認証APIは、以下のクラスです。jp.co.intra_mart.foundation.security.certification.UserCertificationManagerこの認証APIは、ログイン処理中に以下の処理を行います。
- 初期リクエスト解析 ( initialParseRequest() )
- ログインページ取得 ( getLoginPageUrl() )
- ログイン ( login() )
- 遷移先ページ取得 ( getTargetPageUrl() )
API の詳細については、「 UserCertificationManager クラスの APIドキュメント 」を参照してください。各処理の流れを説明します。
4.2.1.2.1. 初期リクエスト解析¶
「 初期リクエスト解析プロバイダ 」を呼び出します。
4.2.1.2.2. ログインページ取得¶
「 ログインページプロバイダ 」を呼び出します。
4.2.1.2.3. ログイン¶
以下の処理を順に実行します。
- 「 リクエスト解析プロバイダ 」を呼び出します。
- アカウント情報を取得して、ログイン可否を確認します。
- 「 認証条件判定プロバイダ 」を利用して、「 認証プロバイダ 」を決定します。
- 「 認証プロバイダ 」を呼び出し、認証を行います。
- アカウントコンテキストを切り替えてログイン状態にします。
- 「 認証リスナ 」を呼び出します。
注意
上記の「2. アカウント情報を取得して、ログイン可否を確認します」では、以下のいずれかの条件を満たす場合にログイン不可と判定します。
- アカウントが存在しない
- アカウントライセンスが登録されていない
- アカウントのタイムゾーンにおける現在時刻が、アカウントの有効期間から外れている
- アカウントがロックされている
ログイン不可と判定された場合、「3.」以降の処理は実行されません。具体的には、以下の認証プロバイダ・プラグインは実行されません。
- 「 認証条件判定プロバイダ 」
- 「 認証プロバイダ 」
- 「 認証リスナ 」
4.2.1.2.4. 遷移先ページ取得¶
「 遷移先ページプロバイダ 」を呼び出します。遷移先が取得できなかった場合、アカウントコンテキストのホームURLプロパティを取得します。