1회 사용자 인증(SSO), 로그인 및 URL 리디렉션

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기6분
  • 서비스 포털 는 시스템 속성과 스크립트 포함의 조합을 사용하여 포털에서 로그인하는 사용자의 URL 리디렉션을 시스템에서 처리하는 방법을 결정합니다.

    SSO, URL 리디렉션 및 ServiceNow 플랫폼을 이해하는 사용자만 변경해야 합니다.

    1회 사용자 인증(SSO) 및 서비스 포털

    에서 서비스 포털1회 사용자 인증(SSO)을 사용하려면 통합 - 다중 제공자 1회 사용자 인증(SSO) 설치 관리자 플러그인(com.snc.integration.sso.multi.installer)을 활성화해야 합니다.

    시스템 속성을 사용하여 기본 IdP 서비스 포털 로 자동으로 리디렉션하는 경우 해당 IdP로 자동으로 리디렉션됩니다. ID 공급자가 서비스 포털 여러 개인 경우 로그인 페이지에 외부 로그인 사용 링크를 표시합니다. 플랫폼의 SSO 및 인증에 대한 자세한 내용은 다중 제공자 SSO(Single Sign-On)를 참조하십시오.

    사용자를 포털 로그인 페이지로 먼저 리디렉션하지 않고 SSO IdP(ID 제공자) 로그인 페이지로 리디렉션하려면 시스템 속성을 구성할 glide.service_portal.sso.early_redirect.portals 수 있습니다. 자세한 내용은 서비스 포털 속성 문서를 참조하십시오. 포털에서 사용자 정의된 버전의 로그인 위젯을 사용하는 경우 포털 페이지를 먼저 로드하지 않고 사용자를 SSO IdP(ID 제공자) 로그인 페이지로 리디렉션하기 위해 필요에 따라 sp_sso_early_redirection UI 매크로를 업데이트해야 합니다.

    주:
    서비스 포털 에는 복수 제공자 SSO 및 Okta 사용과 관련된 알려진 문제가 있습니다. 이 문제 및 임시 해결책에 대한 자세한 내용은 서비스 포털: 다중 SSO를 활성화한 후 최종 사용자가 지식베이스의 [KB0687717] 문서에 이미 로그인한 경우 OKTA를 통해 navpage.do 액세스할 수 있습니다.Now Support

    페이지에 대한 서비스 포털 인증 필요

    페이지에 대한 서비스 포털 인증을 요구하려면 페이지 기록의 공개 플래그가 선택되지 않았는지 확인합니다. 자세한 내용은 디자이너를 서비스 포털 사용하여 페이지 생성 및 편집 문서를 참조하십시오. 사용자가 비공개 페이지로 이동하면 요청된 포털의 로그인 페이지로 리디렉션됩니다.

    모든 페이지 요청이 $sp 페이지를 통해 라우팅되기 때문에 이 페이지는 공용이어야 합니다. 공용 페이지 sys_public 테이블의 다음 값은 페이지를 공개로 정의합니다.

    • 페이지: $sp
    • 활성: true

    포털을 인스턴스 로그인 페이지로 구성

    인증되지 않은 모든 사용자를 포털 로그인 페이지로 안내하여 로그인합니다. 포털 로그인 페이지는 인스턴스의 기본 로그인 페이지가 됩니다.

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. 다음 설정으로 시스템 속성을 추가합니다.
      • 이름: glide.entry.page.script
      • 유형: string
      • 값:
        new SPEntryPage().getLoginURL()
    2. 옵션: 사용자를 기본 포털이 아닌 다른 포털로 안내해야 하는 경우 SPEntryPage 스크립트 포함에 지정된 포털을 편집합니다.

      SPEntryPage는 인스턴스의 기본 포털을 리디렉션할 포털 경로로 사용합니다. 직원 센터 (esc)는 기본적으로 기본 포털입니다.

      주:
      스크립트 포함을 편집하면 향후 업데이트로 업그레이드되지 않습니다.
      1. 다음으로 이동 모두 > 시스템 정의 > 스크립트 포함.
      2. Script Includes [sys_script_include] 테이블에서 SPEntryPage라는 Script Includes를 검색합니다.
      3. 스크립트 필드에서 스크립트를 편집하여 할당된 포털을 원하는 portal_suffix로 변경합니다.

        예를 들어 this.portal = this.getDefaultPortal();this.portal = "/sp/";서비스 포털변경합니다.

        SPEntryPage.prototype = {
        
            initialize: function() {
                this.logVariables = false; // for debugging 
                this.portal = this.getDefaultPortal(); // The URL suffix for default portal
            },
        
        주:
        /sp 뒤의 슬래시 문자(/)는 Single Sign-On을 구성할 때 문제를 일으킬 수 있습니다. 문제가 발생하면 스크립트에서 문자를 제거해 보십시오.

    로그인 후 서비스 포털로 리디렉션

    로그인 후 조건부로 사용자를 페이지로 리디렉션합니다 서비스 포털 .

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. 탐색 필터에 sys_properties.list를 입력합니다.
    2. 시스템 속성 [sys_properties] 테이블에서 다음 속성과 값을 추가합니다.
      속성 유형 설명
      glide.entry.first.page.script 문자열 새로운 SPEntryPage().getFirstPageURL() 인증 후 첫 페이지
      glide.entry.page.script 문자열 사용자를 로그인할 위치로 리디렉션하는 서버 스크립트입니다. 예:

      새로운 SPEntryPage().getLoginURL()

      로그인 위치를 결정하는 서버 스크립트 포함 메서드에 대한 호출을 포함합니다.
      getFirstPageURL은 주로 다음을 수행합니다.
      • 프레임셋을 벗어나기 위해 login_redirect.do 로 리디렉션합니다(있는 경우).
      • 사용자에게 역할이 없는 경우 기본 포털로 리디렉션하고, 포털로 직접 이동하지 않는 역할을 가진 사용자의 경우 전체 플랫폼으로 리디렉션합니다.

        사용자에게 역할이 없는 경우 페이지와 동등한 포털로 리디렉션됩니다. 예:

        https://<instance_name>.service-now.com/nav_to.do?uri=change_request_list.do

        역할이 없는 사용자를 보내는 작업:

        https://<instance_name>.service-now.com/sp/?id=list&table=change_request.

      주:
      이 변경으로 인해 역할이 없는 사용자가 전체 플랫폼에 액세스할 수 있습니다. 역할이 없는 사용자가 플랫폼에 접근하지 못하고 항상 포털로 리디렉션하지 못하게 하려면 시스템 속성의 값을 glide.entry.loggedin.page_ess 포털 접미사( 예: /sp)로 설정합니다.
    3. 옵션: SPEntryPage 스크립트 포함에서 로그인 후 동작을 사용자 지정합니다.

      스크립트 포함 수정에 대한 자세한 내용은 스크립트 포함을 참조하십시오.

      예를 들어 특정 역할을 가진 사용자를 로 리디렉션 서비스 포털하려면 다음 코드에서 user.hasRoles( )를 수정할 수 있습니다.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      주:
      • 스크립트 포함을 편집하면 향후 업데이트로 업그레이드되지 않습니다.
      • admin 역할이 있는 사용자는 항상 user.hasRoles() 검사를 통과합니다.
      • 외부 인증을 사용하는 경우 IdP가 릴레이 상태 URL 매개변수를 지원하는지 확인합니다. 이 매개변수는 사용자가 인증하는 동안 원래 요청된 URL을 유지하며 로그인 후 리디렉션에 필요합니다.

    다음에 수행할 작업

    리디렉션을 디버그하려면 다음 문서를 참조하십시오 서비스 포털 URL 리디렉션 디버그. 추가 리디렉션 문제 해결 정보는 Now Support 지식베이스의 서비스 포털 [KB0747432]을 사용한 리디렉션에 대한 자주 묻는 질문 문서를 참조하십시오.

    서비스 포털 URL 리디렉션 디버그

    첫 페이지에 로그인하고 서비스 포털 첫 페이지로 리디렉션하기 위한 URL 리디렉션을 디버그합니다.

    SPEntryPage의 디버그 출력을 보고 다음을 기반으로 리디렉션되는 세션 변수를 보려면 다음을 수행합니다.
    1. 시스템 속성 glide.entry.first.page.script 값이 new SPEntryPage().getFirstPageURL()인지 확인합니다.
    2. SPEntryPage 스크립트 포함에서 this.logVariables = true를 설정합니다.
    3. 별도의 브라우저에서 로그인합니다.
    4. 시스템 탐색기에서 다음으로 이동하여 로그 출력을 봅니다. 시스템 로그 > 시스템 로그 > 모두.