GlideUser - クライアント
GlideUser API は、現在のユーザーと現在のユーザーロールに関する情報にアクセスするメソッドを提供します。この API を使用すると、ユーザー情報を取得するために低速の GlideRecord クエリを使用する必要がなくなります。
GlideUser のメソッドとプロパティは、クライアントスクリプトでのみ使用できるグローバルオブジェクト (g_user) を介してアクセスされます。
- 現在のユーザーの名前とロールの情報が含まれています。
- は通常、クライアントスクリプトと UI ポリシーで使用されますが、クライアントで実行される UI アクションにも含まれます。
- サーバー上で実行されるビジネスルールまたは UI アクションでは使用できません。
現在のユーザーおよび現在のユーザーロールに関するセッション情報は、クライアント (Web ブラウザー) に含まれています。getClientData() を除くすべての GlideUser メソッドは、デフォルトで利用可能なセッション情報にアクセスします。getClientData() メソッドでは、サーバーでセットアップし、putClientData() メソッドを使用してセッション情報を利用できるようにする必要があります。
クライアントサイドスクリプトの使用方法については、「 クライアントサイドスクリプトの概要」を参照してください。
GlideUser - firstName
現在のユーザーの名。
| 名前 | タイプ | 説明 |
|---|---|---|
| firstName | 文字列 | 現在のユーザーの名。 |
alert('first name = ' + g_user.firstName);
GlideUser - getClientData(文字列キー)
setClientData() または GlideSession -- putClientData() を使用して設定されたクライアント値を返します。
セッションクライアントデータは、 GlideSession -- putClientData() を使用してサーバーにセットアップできる名前付き文字列のセットです。フォームのロード時に getClientData() を使用して、クライアントスクリプトがフォームに関する意思決定を行うために必要な情報を取得できます。たとえば、表示するフィールドを特定するためなどです。
「 GlideForm」も参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | 取得するクライアントデータの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | クライアントデータの値。 |
var loginLanguage = g_user.getClientData("loginlanguage");
GlideUser - getFullName()
現在のユーザーの姓と名を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在のユーザーのフルネーム。 |
var formalName = g_user.getFullName();
GlideUser - hasRole(文字列 role, ブール値 includeDefaults)
現在のユーザーが指定されたロールまたはアドミンロールを持っている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ロール | 文字列 | 確認するロール。 |
| includeDefaults | ブーリアン | オプション。snc_internal や snc_external などのデフォルトロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。 デフォルト値:false |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが指定されたロールまたはアドミンロールを持っている場合は true を返します。それ以外の場合は false を返します。 |
var isInternal = g_user.hasRole('snc_internal', true);
var isItil = g_user.hasRole('itil');
GlideUser - hasRoleExactly(文字列 role, ブール includeDefaults)
現在のユーザーが指定されたロールを持っているかどうかを判定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| includeDefaults | ブーリアン | オプション。snc_internal や snc_external などのデフォルトロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、次を参照してください。 デフォルト値:false |
| ロール | 文字列 | 確認するロール。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが指定されたロールを持っている場合は true を返します。 |
var isInternal = g_user.hasRoleExactly('snc_internal', true);
var isItil = g_user.hasRoleExactly('itil');
GlideUser - hasRoleFromList(文字列 roles, ブール値 includeDefaults)
現在のユーザーが指定されたロールの少なくとも 1 つを持っているか、アドミンロールを持っている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ロール | 文字列 | チェックするロールのカンマ区切りリスト |
| includeDefaults | ブーリアン | オプション。snc_internal や snc_external などのデフォルトロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。 デフォルト値:false |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーがリストのロールまたは admin ロールを持っている場合は true を返します。 |
var isOK = g_user.hasRoleFromList("itil, maint");
var isOK = g_user.hasRoleFromList("itil, maint, snc_internal", true);
GlideUser:hasRoles(ブール値:includeDefaults)
現在のユーザーに何らかのロールがある場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| includeDefaults | ブーリアン | オプション。snc_internal や snc_external などのデフォルトロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。 デフォルト値:false |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが少なくとも 1 つのロールを持っている場合は true を返します。 |
var yesRole = g_user.hasRoles();
var yesRole = g_user.hasRoles(true);
GlideUser - lastName
現在のユーザーの姓。
| 名前 | タイプ | 説明 |
|---|---|---|
| lastName | 文字列 | 現在のユーザーの姓。 |
alert('last name = ' + g_user.lastName);
GlideUser - setClientData(String key, String value)
getClientData() を使用して取得できるクライアント値を設定します。
「 GlideForm」も参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | キーとして保存するクライアントデータの名前。 |
| value | 番号 | キーに割り当てる値。 |
| タイプ | 説明 |
|---|---|
| なし |
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)。
| 名前 | タイプ | 説明 |
|---|---|---|
| userName | 文字列 | 現在のユーザーのユーザー名。 |
var userName = g_user.userName;
alert('Current user = ' + userName);
GlideUser - userID
現在のユーザーのsys_idを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| userID | 文字列 | 現在のユーザーのSys_id。 |
var userID = g_user.userID;
alert('Current user ID = ' + userID);