GlideImpersonate - グローバル
GlideImpersonate API を使用すると、管理者はテスト目的で別の認証済みユーザーを装うことができます。
アプリケーション内の機能をテストするために別のユーザーとして操作する必要がある場合は、この API を使用します。別のユーザーの代理操作を行う場合、管理者は、代理操作されたユーザーがシステム内でアクセスできるメニューやモジュールなどとまったく同じものにアクセスできます。
注:
システムは、別のユーザーの代理操作を行っている間に管理者が行ったことを、そのユーザーによって行われたものとして記録します。
GlideImpersonate - canDebug(文字列 userSysId)
指定されたユーザーがスクリプトのデバッグを実行できるかどうかを確認します。
ユーザーがスクリプトをデバッグできるようにするには、開発者インスタンスを使用する必要があります。本番インスタンスではデバッグできません。
| 名前 | タイプ | 説明 |
|---|---|---|
| userSysId | 文字列 | デバッグ機能を検証するユーザーの sys_Id。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | true:ユーザーはアプリケーションをデバッグできます。 false:ユーザーはアプリケーションをデバッグできません。 |
userDebug: function(userId) {
var impUser = new GlideImpersonate();
impUser.canDebug(userId);
}
GlideImpersonate - canImpersonate(文字列 userSysId)
現在のユーザーが指定されたユーザーの代理操作を行えるかどうかを確認します。
現在のユーザーに admin ロールが割り当てられていない場合、代理操作するユーザーが非アクティブである場合、または指定されたユーザーの代理操作に他の問題がある場合、メソッドは「false」を返し、ユーザーは代理操作できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| userSysId | 文字列 | 代理操作するユーザーの sys_Id |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーが指定されたユーザーの代理操作を行えるかどうかを示すフラグ。 可能な値:
|
function onlineImpersonate(userSysId) {
if (!GlideImpersonate().canImpersonate(userSysId)){
gs.addInfoMessage("No access to impersonate " + userSysId);
} else {
GlideImpersonate().impersonate(userSysId);
}
return;
}
GlideImpersonate - impersonate(文字列 userSysId)
現在の管理者のユーザー ID を渡されたユーザー ID に設定し、管理者がそのユーザーとして操作できるようにします。
別のユーザーの代理操作を行う場合、管理者は、代理操作されたユーザーがシステム内でアクセスできるメニューやモジュールなどとまったく同じものにアクセスできます。アプリケーションの機能をテストする場合にのみ、このメソッドを使用してください。ユーザーの代理操作が完了したら、管理者 sys_Id を使用してメソッドを再度呼び出し、代理操作を停止します。
| 名前 | タイプ | 説明 |
|---|---|---|
| userSysId | 文字列 | 代理操作するユーザーの sys_Id。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 代理操作要求の前にログインしていたユーザーの sys_id。 |
次の例は、現在のユーザーオブジェクトを取得する方法を示しています。
var user = gs.getUserDisplayName();
gs.print ("The current user display name is: " + user);
var impUser = new GlideImpersonate();
impUser.impersonate("62826bf03710200044e0bfc8bcbe5df1");
var user = gs.getUserDisplayName();
gs.print ("The impersonated user display name is: " + user);
出力:
The current user display name is: System Administrator
The impersonated user display name is: Abel TuterGlideImpersonate - isImpersonating()
現在のユーザーが別のユーザーの代理操作を行っているかどうかを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | true:ユーザーは現在、別のユーザーの代理操作を行っています。 false:ユーザーは現在、別のユーザーの代理操作を行っていません。 |
function abortOnImpersonate() {
if (GlideImpersonate().isImpersonating()){
current.setAbortAction(true);
gs.addInfoMessage("Transaction canceled due to Impersonation");
}
return;
}