4.8. 一般ユーザの強制ログイン¶
一般ユーザの強制ログイン処理について説明します。
4.8.1. 一般ユーザの強制ログインの概要¶
強制ログインは、パスワードによる検証を省略して intra-mart Accel Platform にログインする機能です。「統合Windows認証モジュール」や「IM-SecureSignOn for Accel Platform」などの機能で利用しています。一般ユーザのログイン処理 と同様に認証APIを呼び出すことで実行されます。上記のログイン処理とは、呼び出す認証プロバイダ・プラグインが異なります。強制ログイン時のフローは、強制ログインを実装している機能に準じます。
4.8.2. 認証API¶
一般ユーザの強制ログインの実行には、以下のAPIを利用します。jp.co.intra_mart.foundation.security.certification.UserCertificationManager#forceLogin()API の詳細については、「 UserCertificationManager クラスの APIドキュメント 」を参照してください。
4.8.2.1. 一般ユーザの強制ログインAPIの動作¶
以下の処理を順に実行します。
アカウントコンテキストを切り替えてログイン状態にします。
必要に応じて「 強制ログイン用認証リスナ 」を呼び出します。
詳細は後述します。
4.8.3. 強制ログイン用認証リスナ¶
強制ログイン成功時の後処理を実行します。強制ログイン用認証リスナは、APIから呼び出す際に認証リスナを動作させる指定を行った場合のみ、実行されます。強制ログインの利用用途により、認証リスナの実行有無が決定します。以下のような用途で強制ログインを実行する場合は、認証リスナが動作します。
強制ログイン実施後に、ユーザがブラウザ操作が行う場合
例:シングルサインオン、ログイン認証が必要なショートカットURLによるアクセス、など
以下のような用途で強制ログインを実行する場合は、認証リスナは動作しません。
特定の処理を動かすために、一時的にユーザを切り替える場合
例:Webサービス、外部ソフトウェア連携、など
コラム
一般ユーザのログイン処理用のプロバイダである「認証リスナ」は動作しません。強制ログイン時は、以下の設定を行ったリスナのみ動作します。注意
強制ログイン用認証リスナは、2015 Winter(Lydia) より利用可能です。2015 Summer(Karen) 以前のバージョンでは、強制ログイン時に認証リスナは実行されません。注意
認証APIは、1つのトランザクションで処理されます。そのため、認証リスナでデータベースなどのトランザクション管理されている情報を更新しても、その後の処理によっては、ロールバックされる可能性があります。別トランザクションとする場合は、独自にトランザクションを開始するようにしてください。
4.8.3.1. 強制ログイン用リスナ設定¶
拡張ポイント jp.co.intra_mart.security.user.force_login を指定します。リスナクラスの指定方法については、以下の設定例の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?xml version="1.0" encoding="UTF-8"?> <plugin> <extension point="jp.co.intra_mart.security.user.force_login"> <certification name="Sample" id="sample.certification" version="8.0" rank="100"> <certification-listener> <listener-class>sample.certification.SampleCertificationListener</listener-class> </certification-listener> </certification> </extension> </plugin>