Single Sign-On, Anmeldungen und URL-Weiterleitungen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 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 zur Authentifizierung in der Plattform finden Sie unter Single Sign-on (SSO) für mehrere Anbieter.

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

    Authentifizierung für eine Serviceportal-Seite erforderlich machen

    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

    Leiten Sie alle nicht authentifizierten Benutzer zu einer Portal-Anmeldeseite weiter, um sich anzumelden. Die Portal-Anmeldeseite wird zur primären Anmeldeseite für Ihre Instanz.

    Vorbereitungen

    Erforderliche Rolle: admin

    Prozedur

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

      SPEntryPage verwendet das Standardportal der Instanz als Portalpfad für die Umleitung. 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 > Skripteinbindungen.
      2. Suchen Sie in der Tabelle „Skripteinbindungen“ [sys_script_include] nach einer Skripteinbindung mit dem Namen SPEntryPage.
      3. Bearbeiten Sie im Feld Skript das Skript, um das zugewiesene Portal in das gewünschte portal_suffix zu ändern.

        Ändern Sie beispielsweise this.portal = this.getDefaultPortal(); to this.portal = "/sp/";, um zu Serviceportalumzuleiten.

        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 Probleme bei der Konfiguration von Single Sign-on verursachen. Versuchen Sie bei Problemen, das Zeichen aus dem Skript zu entfernen.

    Nach der Anmeldung zum Service Portal weiterleiten

    Leitet Anwender nach der Anmeldung bedingt zu einer Serviceportal -Seite um.

    Vorbereitungen

    Erforderliche Rolle: admin

    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 Benutzer an den Anmeldeort umleitet. Beispiel:

      neue SPEntryPage().getLoginURL()

      Enthält den Aufruf der Server-Skripteinbindungsmethode, die bestimmt, wo die Anmeldung erfolgen soll
      getFirstPageURL führt im Wesentlichen Folgendes aus:
      • Leitet zu „ login_redirect.do“ um, um aus dem Frameset auszubrechen (falls vorhanden).
      • Leitet zum Standardportal um, wenn der Benutzer keine Rollen hat, oder zur vollständigen Plattform für Benutzer mit Rollen, die nicht versuchen, direkt zu einem Portal zu wechseln.

        Wenn der Benutzer keine Rollen hat, wird er zum Portal-Äquivalent einer Seite weitergeleitet. Beispiel:

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

        sendet Benutzer ohne Rollen an:

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

      Hinweis:
      Diese Änderung verhindert nicht, dass Benutzer ohne Rollen auf die vollständige Plattform zugreifen können. Um zu verhindern, dass Benutzer ohne Rollen auf die Plattform zugreifen und immer zu einem Portal umleiten, legen Sie den Wert der Systemeigenschaft glide.entry.loggedin.page_ess auf das Portalsuffix fest, z. B. /sp.
    3. Wahlweise: Passen Sie das Verhalten nach der Anmeldung in der SPEntryPage -Skripteinbindung an.

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

      Wenn Sie beispielsweise möchten, dass Benutzer mit bestimmten Rollen zu Serviceportalumgeleitet werden, können Sie user.hasRoles() im folgenden Code ändern.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      Hinweis:
      • Wenn Sie die Skripteinbindung bearbeiten, wird sie nicht mit zukünftigen Updates aktualisiert.
      • Benutzer mit der Administratorrolle bestehen immer eine Prüfung user.hasRoles().
      • 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 Problembehandlung für die Umleitung finden Sie im Artikel Häufig gestellte Fragen zur Umleitung mit Service Portal [KB0747432] in der Knowledge Base des Now Support.

    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 > Alle.