GlideUser - クライアント

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:7分
  • GlideUser API は、現在のユーザーと現在のユーザーロールに関する情報にアクセスするメソッドを提供します。この API を使用すると、ユーザー情報を取得するために低速な GlideRecord クエリを使用する必要がなくなります。

    GlideUser のメソッドとプロパティには、クライアントスクリプトでのみ利用可能なグローバルオブジェクト (g_user) を介してアクセスします。

    この API は、次のことを行います。
    • 現在のユーザーに関する名前とロールの情報が入っている
    • 通常はクライアントスクリプトと UI ポリシーで使用されるが、クライアントで実行される UI アクションでも使用される
    • サーバーで実行されるビジネスルールまたは UI アクションでは使用できない

    現在のユーザーと現在のユーザーロールに関するセッション情報は、クライアント (Web ブラウザー) に入っています。getClientData() を除くすべての GlideUser メソッドは、デフォルトで利用可能なセッション情報にアクセスします。getClientData() メソッドを使用するには、サーバーでセットアップし、putClientData() メソッドを使用してセッション情報を使用可能にする必要があります。

    クライアントサイドスクリプトの使用方法については、「クライアントサイドスクリプトの概要」を参照してください。

    GlideUser - firstName

    現在のユーザーの名。

    表 : 1. フィールド
    名前 タイプ 説明
    firstName 文字列 現在のユーザーの名。
    alert('first name = ' + g_user.firstName);

    GlideUser - getClientData(文字列 key)

    setClientData() または GlideSession --putClientData() を使用して設定されたクライアントの値を返します。

    セッションクライアントデータは、 GlideSession -- putClientData() を使用してサーバー上でセットアップできる名前付き文字列のセットです。フォームのロード時に getClientData() を使用して、フォームに関する決定を行う際にクライアントスクリプトで必要な情報を取得できます。たとえば、表示すべきフィールドの特定などです。

    GlideForm」も参照してください。

    表 : 2. パラメーター
    名前 タイプ 説明
    key 文字列 取得するクライアントデータの名前。
    表 : 3. 返される内容
    タイプ 説明
    文字列 クライアントデータの値。
    var loginLanguage = g_user.getClientData("loginlanguage");

    GlideUser - getFullName()

    現在のユーザーの名と姓を返します。

    表 : 4. パラメーター
    名前 タイプ 説明
    なし
    表 : 5. 返される内容
    タイプ 説明
    文字列 現在のユーザーのフルネーム。
    var formalName = g_user.getFullName();

    GlideUser - hasRole(文字列 role, ブーリアン includeDefaults)

    現在のユーザーが指定されたロールか admin ロールを持つ場合、true を返します。

    表 : 6. パラメーター
    名前 タイプ 説明
    ロール 文字列 チェック対象のロール。
    includeDefault ブーリアン オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。

    デフォルト値:false

    表 : 7. 返される内容
    タイプ 説明
    ブーリアン 現在のユーザーが指定されたロールか admin ロールを持つ場合に true を返し、そうでない場合は false を返します。
    var isInternal = g_user.hasRole('snc_internal', true);
    var isItil = g_user.hasRole('itil');

    GlideUser - hasRoleExactly(文字列 role, ブーリアン includeDefaults)

    現在のユーザーに指定されたロールがあるかどうかを判別します。

    表 : 8. パラメーター
    名前 タイプ 説明
    includeDefault ブーリアン オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールに関するその他の詳細については、

    明示的なロール

    デフォルト値:false

    ロール 文字列 チェック対象のロール。
    表 : 9. 返される内容
    タイプ 説明
    ブーリアン 現在のユーザーが指定されたロールを持つ場合は true を返します。
    var isInternal = g_user.hasRoleExactly('snc_internal', true);
    var isItil = g_user.hasRoleExactly('itil');

    GlideUser - hasRoleFromList(文字列 role, ブーリアン includeDefaults)

    現在のユーザーが指定されたロールを 1 つ以上持つか admin ロールを持つ場合、true を返します。

    表 : 10. パラメーター
    名前 タイプ 説明
    roles 文字列 チェック対象のロールのカンマ区切りリスト
    includeDefault ブーリアン オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。

    デフォルト値:false

    表 : 11. 返される内容
    タイプ 説明
    ブーリアン 現在のユーザーがリスト内のロールか admin ロールを持つ場合、true を返します。
    var isOK = g_user.hasRoleFromList("itil, maint");
    var isOK = g_user.hasRoleFromList("itil, maint, snc_internal", true);

    GlideUser - hasRoles(ブーリアン includeDefaults)

    現在のユーザーが何らかのロールを持つ場合は true を返します。

    表 : 12. パラメーター
    名前 タイプ 説明
    includeDefault ブーリアン オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。

    デフォルト値:false

    表 : 13. 返される内容
    タイプ 説明
    ブーリアン 現在のユーザーが 1 つ以上のロールを持つ場合は true を返します。
    var yesRole = g_user.hasRoles();
    var yesRole = g_user.hasRoles(true);

    GlideUser - lastName

    現在のユーザーの姓。

    表 : 14. フィールド
    名前 タイプ 説明
    lastName 文字列 現在のユーザーの姓。
    alert('last name = ' + g_user.lastName);

    GlideUser - setClientData(文字列 key, 文字列 value)

    getClientData() を使用して取得できるクライアント値を設定します。

    GlideForm」も参照してください。

    表 : 15. パラメーター
    名前 タイプ 説明
    key 文字列 キーとして保存するクライアントデータの名前。
    value 数字 キーにアサインする値。
    表 : 16. 返される内容
    タイプ 説明
    なし
    function onSubmit() {
    	
    	if (!g_user.getClientData('keyName')) {
    		var now_GR = new GlideRecord('incident');
    		now_GR.addActiveQuery();
    		now_GR.setLimit(1);
    		now_GR.query(cb);
    		return false;
    	}
    	return true;
    }
    
    function cb(now_GR) {
    	// <insert glide operation >
    	g_user.setClientData('keyName', now_GR.getValue('<number>'));
    	g_form.submit();	
    }

    GlideUser - userName

    現在のユーザーのユーザー名 (例:gsmith02)。ユーザーの名前 (George Smith など) ではありません。

    表 : 17. フィールド
    名前 タイプ 説明
    userName 文字列 現在のユーザーのユーザー名。
    var userName = g_user.userName;
       alert('Current user = ' + userName);

    GlideUser - userID

    現在のユーザーの sys_id を返します。

    表 : 18. フィールド
    名前 タイプ 説明
    userID 文字列 現在のユーザーの sys_id。
    var userID = g_user.userID;
       alert('Current user ID = ' + userID);