intra-mart Accel Platform スクリプト開発モデル プログラミングガイド 第16版 2020-04-01

ショートカットアクセス機能

ショートカットアクセス機能とは

ショートカットアクセス機能は、初期アクセス URL にショートカットアクセス用の URL を指定することによって、ログイン後の画面を任意の画面に取り替えることができる機能です。
ショートカットアクセス機能を用いると、ログイン後の画面で任意のページを表示することが可能になります。

ショートカットアクセス URL

ショートカットアクセス用の URL は、ショートカットIDを含む以下の URL になります。
http:// <server> / <context-path> /user/shortcut/ <ショートカットID>
<記述例>
http://localhost/imart/user/shortcut/5i4deh98wou5uuc

ショートカット ID の作成

ショートカット ID は、表示するページの情報およびセキュリティの情報に紐づく ID となります。
ショートカット IDは、表示するページの情報およびセキュリティの情報を指定してAPI を用いて作成します。
ログイン後に表示する画面に、/sample/shortcut を指定する場合のショートカット IDの作成手順を説明します。
// ショートカットマネージャの作成
var manager = new ShortCutManager();

// ショートカット情報の作成
var shortCutInfo = {
    url : '/sample/shortcut', // 表示するURL
    urlParams : { // 表示する URL に渡すパラメータの設定(任意指定)
        arg1 : 'value1',
        arg2 : 'value2'
    },
    allowUsers : ['guest', 'ueda'], // 表示許可を行うユーザ
    isAuth : true, // ログイン認証が必要かどうか?
    validEndDate : manager.addValidEndDate(10) // この情報の有効期限(作成時から10日間有効)
};

// ショートカットID 作成
var shortCutId = manager.createShortCut(shortCutInfo);

ショートカット拡張検証機能

拡張検証機能では、ショートカット情報の URL の表示を許可ユーザ以外で、ログインしたユーザに対して検証プログラム利用して、ページの表示許可を与えるかどうかの判定を追加で行う機能です。
拡張検証コードは、検証プログラムのコード名を表します。
拡張検証パラメータは、検証プログラムに渡されるパラメータとなります。
// ショートカットマネージャの作成
var manager = new ShortCutManager();

// ショートカット情報の作成
var shortCutInfo = {
    url : '/sample/shortcut', // 表示するURL
    urlParams : { // 表示する URL に渡すパラメータの設定(任意指定)
        arg1 : 'value1',
        arg2 : 'value2'
    },
    allowUsers : ['guest', 'ueda'], // 必ず表示許可を行うユーザ(検証機能のみを利用する場合は、設定しなくてもよい。)
    isAuth : true, // ログイン認証が必要かどうか?(検証機能を利用する場合は、設定した値にかかわらず、trueとなります。)
    validEndDate : manager.addValidEndDate(10), // この情報の有効期限(作成時から10日間有効)

    validationCode : 'RoleUser', // 追加でユーザが許可されるかどうかの検証コード
    validationParam : '' // 検証処理に渡される追加のパラメータ 	
};

// ショートカットID 作成
var shortCutId = manager.createShortCut(shortCutInfo);

コラム

検証プログラムはjavaでのみ作成できます。
検証プログラムとコード名の紐付けは、ショートカットアクセス設定の定義ファイルで行います。
作成方法および紐付けについては、「SAStruts+S2JDBC プログラミングガイド」を参照してください。

標準の検証コードについて

標準で3種類の検証コードが登録されています。
  • 拡張検証パラメータに指定された正規表現にマッチするユーザ ID のユーザを許可ユーザとします。

    検証コード 検証プログラム
    RegExpUser jp.co.intra_mart.foundation.security.shortcut.RegExpUserShortCutValidator

  • 拡張検証パラメータに指定されたロール ID を持つユーザを許可ユーザとします。

    検証コード 検証プログラム
    RoleUser jp.co.intra_mart.foundation.security.shortcut.RoleUserShortCutValidator

  • スクリプトを実行して許可ユーザを検証します。

    検証コード 検証プログラム
    Script jp.co.intra_mart.foundation.security.shortcut.ScriptShortCutValidator
    ショートカット情報の拡張検証パラメータに指定したスクリプトの isAllowUserメソッドで判定します。
    このモジュールを利用する場合は、ショートカット情報の拡張検証パラメータにスクリプトのパスを指定します。
    拡張子はつけません。

    例 : shortcut/validator

    また、スクリプトのisAllowUserメソッドに対して、パラメータ(param)を渡したい場合は、ショートカット情報の
    拡張検証パラメータのスクリプトのパスに続いて、カンマ区切りで、パラメータを指定します。
    例 : shortcut/validator,パラメータ値
    パラメータ値が指定されていない場合は、スクリプトの isAllowUser メソッドの param 引数には空文字列が渡されます。
    スクリプトの isAllowUser メソッドのインタフェース

    Boolean isAllowUser(String groupId, ShortCutInfo shortcutInfo,String userId,String param)