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(文字列 key)
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)
現在のユーザーが指定されたロールか admin ロールを持つ場合、true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ロール | 文字列 | チェック対象のロール。 |
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 Exploring user administration」を参照してください。 デフォルト値:false |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが指定されたロールか admin ロールを持つ場合に true を返し、そうでない場合は false を返します。 |
var isInternal = g_user.hasRole('snc_internal', true);
var isItil = g_user.hasRole('itil');
GlideUser - hasRoleExactly(文字列 role, ブーリアン includeDefaults)
現在のユーザーに指定されたロールがあるかどうかを判別します。
| 名前 | タイプ | 説明 |
|---|---|---|
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールに関するその他の詳細については、 デフォルト値:false |
| ロール | 文字列 | チェック対象のロール。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが指定されたロールを持つ場合は true を返します。 |
var isInternal = g_user.hasRoleExactly('snc_internal', true);
var isItil = g_user.hasRoleExactly('itil');
GlideUser - hasRoleFromList(文字列 role, ブーリアン includeDefaults)
現在のユーザーが指定されたロールを 1 つ以上持つか admin ロールを持つ場合、true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| roles | 文字列 | チェック対象のロールのカンマ区切りリスト |
| includeDefault | ブーリアン | オプション。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 を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| includeDefault | ブーリアン | オプション。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(文字列 key, 文字列 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);