GlideSession - スコープ指定
スコープ対象の GlideSession API は、現在のセッションに関する情報を検索するためのメソッドを提供します。
スコープ付き GlideSession オブジェクトのインスタンスを作成するためのコンストラクターはありません。代わりに、スコープ対象の GlideSystem API の getSession() メソッドを使用します。
スコープ付き GlideSession - getClientData(String paramName)
以前に putClientData() で設定したセッションクライアント値を取得します。
このメソッドを使用して、 putClientData() メソッドを使用して設定されたデータ値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| paramName | 文字列 | 取得するクライアントデータの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | クライアントデータ。 |
var session = gs.getSession();
session.putClientData('test1', 'Harry');
var clientData = session.getClientData('test1');
gs.info(clientData);
出力:
Harry
スコープ付き GlideSession - getClientIP()
クライアント IP アドレスを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | IP アドレス。 |
var session = gs.getSession();
var addr = session.getClientIP();
gs.info(addr);
出力:
50.59.164.97
スコープ付き GlideSession - getCurrentApplicationId()
アプリケーションピッカーで現在選択されているアプリケーションを返します。
この方法にはアドミン権限が必要です。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在選択されているアプリケーション。 |
var session = gs.getSession();
var appID = session.getCurrentApplicationId();
gs.info(appID);
出力:
ce05b9f32b840200c5244f74b4da1501
スコープ付き GlideSession - getCurrentDomainID()
ログインしたユーザーセッションの現在のドメインのsys_idを返します。
- ユーザーがグローバルドメインで構成されており、ドメインピッカーを使用してドメインを切り替えない場合、このメソッドは null を返します。
- ユーザーがドメインピッカーを使用してグローバルドメインに切り替えた場合、このメソッドは文字列「global」を返します。
- 他のすべてのドメインでは、このメソッドはそのドメインのsys_idを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在ログインしているユーザーのセッションドメインのSys_id。これは、ドメインピッカーに表示される情報と同じです。 |
この例は、ユーザードメインがグローバルまたは null の場合に、現在のsys_emailレコードのドメインがユーザーのセッションドメインに設定されていることを示しています。
// Set domain based on parent record's domain
setDomain();
// If the domain is global, set to user's domain
if (current.sys_domain == 'global' || current.sys_domain.nil())
current.sys_domain = gs.getSession().getCurrentDomainID();
function setDomain() {
if (current.target_table.nil())
return;
var d = new GlideRecord(current.target_table);
if (!d.isValid())
return;
if (!d.get('sys_id', current.instance))
return;
if (typeof(d.sys_domain) == 'object')
current.sys_domain = d.sys_domain;
スコープ付き GlideSession - getLanguage()
セッションの言語コードを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッションの言語コード。 |
var session = gs.getSession();
var language = session.getLanguage();
gs.info(language);
出力:
en
スコープ付き GlideSession - getSessionToken()
セッショントークンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッショントークン。 |
var session = gs.getSession();
var token = session.getSessionToken();
gs.info(token);
出力:
4284b5372b840200c5244f74b4da15f2c3476cf7fcb6572afa4ef9d5e6d307a5fd9e1da7
スコープ付き GlideSession - getTimeZoneName()
セッションのタイムゾーンの名前を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッションのタイムゾーンの名前。 |
var session = gs.getSession();
var zoneName = session.getTimeZoneName();
gs.info(zoneName);
出力:
US/Pacific
スコープ付き GlideSession - getUrlOnStack()
スタック上の URL を返します。スタックが空の場合は null を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | スタック上の URL です。スタックが空の場合は null を返します。 |
var session = gs.getSession();
var URL = session.getUrlOnStack();
gs.info(URL);
出力:わかりやすくするために改行が追加されました。
sys_app.do?sys_id=ce05b9f32b840200c5244f74b4da1501&sysparm_goto_url=sys_app.do
%3Fsys_id%3Dce05b9f32b840200c5244f74b4da1501
スコープ対象 GlideSession - isImpersonating()
ユーザーが別のユーザーの代理操作をしている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | ユーザーが別のユーザーの代理操作を行っていることを示すフラグ。 可能な値:
|
var isImpersonator = gs.getSession().isImpersonating();
gs.info(isImpersonator);
スコープ対象 GlideSession - isInteractive()
セッションがインタラクティブの場合は true を返します。
インタラクティブセッションとは、エンドユーザーがユーザーインターフェイスとやり取りし、サーバーから情報を取得するセッションです。このタイプのセッションの例としては、ユーザーがログイン画面を使用してログインする場合や、フォームを使用してデータストアをクエリする場合などが挙げられます。非インタラクティブセッションは、データを取得するための SOAP 要求など、サーバーとのプログラムによる対話のみを伴うセッションです。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | セッションがインタラクティブかどうかを示すフラグ。 可能な値:
|
var interActive = gs.getSession().isInteractive();
gs.info(interActive);
スコープ付き GlideSession - isLoggedIn()
ユーザーがログインしている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | ユーザーがログインしているかどうかを示すフラグ 可能な値:
|
var session = gs.getSession();
var loggedIn = session.isLoggedIn();
gs.info(loggedIn);
出力:
true
スコープ付き GlideSession - putClientData(String paramName, String paramValue)
getClientData() で取得できるセッションクライアント値を設定します。このメソッドは、フォームの作成時に実行されるサーバーサイドスクリプトで使用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| paramName | 文字列 | 設定するクライアントデータの名前。 |
| paramValue | 文字列 | クライアントデータの値。 |
| タイプ | 説明 |
|---|---|
| なし |
var session = gs.getSession();
session.putClientData('test1', 'Harry');
var clientData = session.getClientData('test1');
gs.info(clientData);
出力:
Harry