Single Sign-On, Anmeldungen und URL-Weiterleitungen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Serviceportal Verwendet eine Kombination aus Systemeigenschaften und Skripteinbindungen, um zu bestimmen, wie das System URL-Weiterleitungen für Benutzer vornimmt, die sich beim Portal anmelden.

    Änderungen sollten nur von Benutzern vorgenommen werden, die sich mit SSO, URL-Weiterleitungen und der ServiceNow Plattform auskennen.

    Single Sign-On und Serviceportal

    Um Single Sign-On mit Serviceportal zu verwenden, müssen Sie das Plugin für die Installation der Integration für Single Sign-On für mehrere Anbieter aktivieren (com.snc.integration.sso.multi.installer).

    Wenn Sie die Systemeigenschaft verwenden, um automatisch zu Ihrem primären IdP umzuleiten, dann leitet Serviceportal automatisch auf diesen IdP um. Wenn Sie mehrere Identitätsanbieter haben, zeigt Serviceportal einen Link auf der Login-Seite an zum Verwenden eines externen Logins. Weitere Informationen zu SSO und Authentifizierung in der Plattform finden Sie unter Single Sign-on (SSO) für mehrere Anbieter .

    Um Anwender zur Anmeldeseite „SSO Identify Provider“ (IdP) umzuleiten, ohne sie zuerst zur Anmeldeseite des Portals umzuleiten, können Sie konfigurieren glide.service_portal.sso.early_redirect.portalsSystemeigenschaft. Weitere Informationen finden Sie unter Serviceportal -Eigenschaften. Wenn Ihr Portal eine anwenderdefinierte Version des Anmelde-Widgets verwendet, müssen Sie aktualisieren sp_sso_early_redirection UI-Makro nach Bedarf, um Anwender zur SSO Identify Provider (IdP)-Anmeldeseite umzuleiten, ohne zuerst die Portalseite zu laden.

    Hinweis:
    Serviceportal Hat ein bekanntes Problem im Zusammenhang mit der Verwendung von Multi-Provider-SSO und Okta. Weitere Informationen zu diesem Problem und eine Problemumgehung finden Sie unter Serviceportal: Nach der Aktivierung von Multi-SSO können Endanwender über OKTA auf navpage.do zugreifen, wenn sie bereits angemeldet sind [KB0687717] artikel in Now Support Knowledge Base.

    Authentifizierung für eine Serviceportal Seite erforderlich.

    Wenn Sie eine Authentifizierung für eine Serviceportal Seite anfordern möchten, stellen Sie sicher, dass die Markierung Öffentlich im Seitendatensatz ist nicht ausgewählt ist. Weitere Informationen finden Sie unter Seiten mithilfe des Serviceportal Designers erstellen und bearbeiten.. Wenn ein Benutzer zu einer nicht öffentlichen Seite navigiert, wird er zur Anmeldeseite des angeforderten Portals weitergeleitet.

    Weil jede Seitenanforderung durch die Seite $sp geroutet wird, muss diese Seite öffentlich sein. Die folgenden Werte in der Tabelle der öffentlichen Seiten sys_public definieren die Seite als öffentlich:

    • Seite: $sp
    • Aktiv: true

    Konfigurieren Sie ein Portal als Instanzanmeldeseite

    Weisen Sie alle nicht authentifizierten Anwender zur Anmeldung auf eine Portal-Anmeldeseite. Die Portal-Anmeldeseite wird zur primären Anmeldeseite für Ihre Instanz.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Prozedur

    1. Fügen Sie eine Systemeigenschaft hinzu Mit den folgenden Einstellungen:
      • Name: Glide.entry.page.script
      • Typ: Zeichenfolge
      • Wert:
        new SPEntryPage().getLoginURL()
    2. Wahlweise: Wenn Sie Anwender zu einem anderen Portal als dem Standardportal leiten müssen, bearbeiten Sie das in der SPEntryPage-Skripteinbindung angegebene Portal.

      SPEntryPage verwendet das Standardportal in der Instanz als Portalpfad, zu dem umgeleitet werden soll. Mitarbeiter-Center(esc) ist standardmäßig das Standardportal.

      Hinweis:
      Wenn Sie die Skripteinbindung bearbeiten, wird sie nicht mit zukünftigen Updates aktualisiert.
      1. Navigieren zu Alle > Systemdefinition > Skripteinbindungenan.
      2. Suchen Sie in der Tabelle „Skripteinbindungen“ [sys_script_include] nach einer Skripteinbindung mit dem Namen SPEntryPage .
      3. In Skript Feld bearbeiten Sie das Skript, um das zugewiesene Portal in das gewünschte Portal Portal Portal Portal_Suffix zu ändern.

        Beispiel: Change This.Portal = this.getDefaultPortal(); Bis This.Portal = „/sp/“; Um zu umzuleiten Serviceportal.

        SPEntryPage.prototype = {
        
            initialize: function() {
                this.logVariables = false; // for debugging 
                this.portal = this.getDefaultPortal(); // The URL suffix for default portal
            },
        
        Hinweis:
        Der Schrägstrich (/) nach /Sp Kann beim Konfigurieren von Single Sign-on Probleme verursachen. Wenn Probleme auftreten, versuchen Sie, das Zeichen aus dem Skript zu entfernen.

    Nach der Anmeldung zum Serviceportal umleiten

    Anwender bedingt zu umleiten Serviceportal Seite nach der Anmeldung.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Prozedur

    1. Eingeben von sys_properties.list im Navigationsfilter.
    2. Fügen Sie in der Tabelle „Systemeigenschaften“ [sys_properties] die folgenden Eigenschaften und Werte hinzu.
      Eigenschaft Typ Wert Beschreibung
      glide.entry.first.page.script Zeichenfolge new SPEntryPage().getFirstPageURL() Erste Seite nach der Authentifizierung
      glide.entry.page.script Zeichenfolge Serverskript, das Anwender an den Ort umleitet, an dem sie sich anmelden sollen. Zum Beispiel:

      Neue SPEntryPage().getLoginURL()

      Enthält den Aufruf der Serverskripteinbindungsmethode, die bestimmt, wo Sie sich anmelden möchten
      getFirstPageURL führt im Wesentlichen Folgendes aus:
      • Leitet zu um Login_redirect.do Um aus dem Frameset auszubrechen (falls vorhanden).
      • Leitet zum Standardportal um, wenn der Anwender keine Rollen hat, oder zur vollständigen Plattform für Anwender mit Rollen, die nicht versuchen, direkt zu einem Portal zu wechseln.

        Wenn der Anwender keine Rollen hat, wird er zum Portal weitergeleitet, das einer Seite entspricht. Beispiel:

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

        Sendet Anwender ohne Rollen an:

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

      Hinweis:
      Diese Änderung verhindert nicht, dass Anwender ohne Rollen auf die vollständige Plattform zugreifen. Um zu verhindern, dass Anwender ohne Rollen auf die Plattform zugreifen und immer zu einem Portal umleiten, legen Sie den Wert von fest glide.entry.loggedin.page_essSystemeigenschaft für das Portalsuffix, z. B. /Sp .
    3. Wahlweise: Passen Sie das Verhalten nach der Anmeldung in an SPEntryPage Skripteinbindung.

      Weitere Informationen zum Ändern von Skripteinbindungen finden Sie unter Skripteinbindungen .

      Wenn Sie beispielsweise möchten, dass Anwender mit bestimmten Rollen zu weitergeleitet werden Serviceportal, Können Sie ändern Anwender.hasRoles() Im folgenden Code.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      Hinweis:
      • Wenn Sie die Skripteinbindung bearbeiten, wird sie nicht mit zukünftigen Updates aktualisiert.
      • Anwender mit der Administratorrolle übergeben immer einen Anwender.hasRoles() Überprüfen.
      • Wenn Sie die externe Authentifizierung verwenden, stellen Sie sicher, dass Ihr IdP den URL-Parameter RelayState unterstützt. Dieser Parameter behält die ursprünglich angeforderte URL bei, während sich der Benutzer authentifiziert, und ist nach der Anmeldung für die Weiterleitung erforderlich.

    Nächste Maßnahme

    Informationen zum Debuggen der Umleitung finden Sie unter Service Portal-URL-Weiterleitungen debuggen. Weitere Informationen zur Fehlerbehebung bei der Weiterleitung finden Sie unter Häufig gestellte Fragen zur Weiterleitung mit Serviceportal [KB0747432] artikel in der Now Support Knowledge Base.

    Service Portal-URL-Weiterleitungen debuggen

    Debuggen Sie die URL-Weiterleitungen für die Anmeldung bei Serviceportal und die Weiterleitung auf die erste Seite.

    So zeigen Sie die Debug-Ausgabe der SPEntryPage an und zeigen die Sitzungsvariablen an, die basierend auf Folgendem umgeleitet werden:
    1. Stellen Sie sicher, dass die Systemeigenschaft glide.entry.first.page.script den folgenden Wert new SPEntryPage().getFirstPageURL() hat.
    2. Legen Sie in der Skripteinbindung von SPEntryPage this.logVariables = true fest.
    3. Melden Sie sich in einem separaten Browser an.
    4. Zeigen Sie im Systemnavigator die Protokollausgabe an, indem Sie zu navigieren Systemprotokolle > Systemprotokoll > Allean.