GlideUser - クライアント

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間: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(文字列キー)

    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)

    現在のユーザーが指定されたロールまたはアドミンロールを持っている場合は true を返します。

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

    デフォルト値:false

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

    GlideUser - hasRoleExactly(文字列 role, ブール includeDefaults)

    現在のユーザーが指定されたロールを持っているかどうかを判定します。

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

    明示的なロール

    デフォルト値:false

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

    GlideUser - hasRoleFromList(文字列 roles, ブール値 includeDefaults)

    現在のユーザーが指定されたロールの少なくとも 1 つを持っているか、アドミンロールを持っている場合は true を返します。

    表 : 10. パラメーター
    名前 タイプ 説明
    ロール 文字列 チェックするロールのカンマ区切りリスト
    includeDefaults ブーリアン オプション。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. パラメーター
    名前 タイプ 説明
    includeDefaults ブーリアン オプション。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(String key, String 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);