intra-mart Accel Platform SAML認証プログラミングガイド 第2版 2016-08-01

3. ログインフォームの表示方法を制御する

3.1. この機能について

SAML認証のログインボタンが表示されている状態で通常のログインフォームを表示するかどうかを制御します。

3.2. 実装済みの機能

標準で定義されている機能は以下の通りです。

クラス名
説明
ログイン画面が表示されている時に解決されているテナントIDがパラメータに存在する場合は通常のログインフォームを表示します。
パラメータに値がない場合は常に表示します。
パラメータ テナントIDをカンマ区切りで設定します。

クラス名
説明
ログイン画面のURL(コンテキストパスまで)がパラメータの正規表現に一致した場合は通常のログインフォームを表示します。
パラメータ
ログイン画面のURL(コンテキストパスまで)に対する正規表現を設定します。

【例1】
コンテキストパスまでのURLが https://tenant1.sample.com/imart
正規表現が ^http.?://(?!localhost)

上記の場合は https:// に一致するためログインフォームが表示されます。

【例2】
コンテキストパスまでのURLが https://localhost/imart
正規表現が ^http.?://(?!localhost)

上記の場合は一致しないためログインフォームが表示されません。

3.3. 実装方法

ログインフォームの表示方法を制御するクラスの実装は、以下のインタフェースを実装して作成します。


以下の関数に処理を実装します。

view(final HttpServletRequest request, final SAMLLoginFormConfiguration loginFormConfig, final String formViewerParam)

ログインフォームを表示する場合はこの関数の戻り値をtrueにします。

【関数のパラメータ】
request HTTPリクエストです。
loginFormConfig ログインフォーム表示方法の設定内容です。
formViewerParam 画面で設定したパラメータの内容です。

作成したプログラムはコンパイル後にWEB-INF/classes配下に配置します。

3.4. 設定方法

  1. システム管理者でログインします。
  2. ツールバーの「システム管理」-「SAML認証設定」-「SAML認証環境設定」をクリックします。
  3. 「表示タイプ」で「動的に判定する」を選択します。
  4. 利用したいクラス名とパラメータを設定します。
  5. 更新ボタンをクリックして、更新します。