GlideImpersonate - 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기4분
  • 관리자는 GlideImpersonate API를 사용하여 테스트 목적으로 인증된 다른 사용자로 가장할 수 있습니다.

    애플리케이션 내에서 기능을 테스트하기 위해 다른 사용자 역할을 해야 하는 경우 이 API를 사용합니다. 다른 사용자를 가장하는 경우, 관리자는 동일한 메뉴와 모듈을 포함해 시스템에서 가장한 사용자가 액세스할 수 있는 정확한 항목에 액세스할 수 있습니다.
    주:
    시스템은 다른 사용자를 가장하는 동안 관리자가 수행한 모든 작업을 해당 사용자가 수행한 것으로 기록합니다.

    GlideImpersonate - canDebug(userSysId 문자열)

    지정된 사용자가 스크립트에서 디버깅을 수행할 수 있는지 여부를 확인합니다.

    사용자가 스크립트를 디버그할 수 있으려면 해당 사용자가 개발자 인스턴스에 있어야 합니다. 프로덕션 인스턴스에서는 디버깅이 허용되지 않습니다.

    표 1. 매개변수
    이름 유형 설명
    userSysId 문자열 디버깅 기능을 확인할 사용자의 sys_Id입니다.
    표 2. 반환
    유형 설명
    부울 True: 사용자가 애플리케이션을 디버그할 수 있습니다.

    False: 사용자가 애플리케이션을 디버그할 수 없습니다.

    userDebug: function(userId) {
      var impUser = new GlideImpersonate();
      impUser.canDebug(userId);
     }

    GlideImpersonate - canImpersonate(userSysId) 문자열

    현재 사용자가 지정된 사용자를 가장할 수 있는지 여부를 확인합니다.

    현재 사용자에게 관리자 역할이 할당되지 않았거나, 가장할 사용자가 비활성 상태이거나, 지정된 사용자를 가장하는 데 다른 문제가 있는 경우 메서드는 "false"를 반환하고 사용자를 가장할 수 없습니다.

    표 3. 매개변수
    이름 유형 설명
    userSysId 문자열 가장 할 사용자의 sys_Id
    표 4. 반환
    유형 설명
    부울 현재 사용자가 지정된 사용자를 가장할 수 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 현재 사용자가 지정된 사용자를 가장할 수 있습니다.
    • false: 현재 사용자가 지정된 사용자를 가장할 수 없습니다.
    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와 함께 메서드를 다시 호출하여 가장을 중지해야 합니다.

    표 5. 매개변수
    이름 유형 설명
    userSysId 문자열 가장할 사용자의 Sys_id입니다.
    표 6. 반환
    유형 설명
    문자열 가장 요청 전에 로그인한 사용자의 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 Tuter

    GlideImpersonate - isImpersonating()

    현재 사용자가 다른 사용자를 가장하고 있는지 여부를 확인합니다.

    표 7. 매개변수
    이름 유형 설명
    없음
    표 8. 반환
    유형 설명
    부울 True: 사용자가 현재 다른 사용자를 가장하고 있습니다.

    False: 사용자가 현재 다른 사용자를 가장하고 있지 않습니다.

    function abortOnImpersonate() {
        if (GlideImpersonate().isImpersonating()){
      current.setAbortAction(true);
      gs.addInfoMessage("Transaction canceled due to Impersonation");
        }
        return;
    }