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

4. SAML認証のボタン表示方法を制御する

4.1. この機能について

対象のIdPに対するSAML認証のログインボタンを表示するかどうかを制御します。

4.2. 実装済みの機能

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

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

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

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

上記の場合は https:// に一致するためSAML認証のログインボタンが表示されます。

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

上記の場合は一致しないためSAML認証のログインボタンが表示されません。

4.3. 実装方法

SAML認証のボタン表示を方法を制御するクラスの実装は、以下のインタフェースを実装して作成します。


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

view(final HttpServletRequest request, final ProviderConfiguration providerConfig, final String idpViewerParam)

対象のIdPに対するSAML認証のログインボタンを表示する場合はこの関数の戻り値をtrueにします。

【関数のパラメータ】
request HTTPリクエストです。
providerConfig プロバイダ設定情報の内容です。
idpViewerParam 画面で設定したパラメータの内容です。

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

4.4. 設定方法

  1. システム管理者でログインします。
  2. ツールバーの「システム管理」-「SAML認証設定」-「IdP一覧」をクリックします。
  3. ツールバーの「新規登録」または一覧から既存のIdP名のリンクをクリックします。
  4. 「SP設定」タブをクリックします。
  5. 「IdP表示方法」で「動的に判定する」を選択します。
  6. 利用したいクラス名とパラメータを設定します。
  7. 更新または新規登録ボタンをクリックして、保存します。