Single Sign-on, Anmeldungen und URL-Umleitungen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Serviceportal Verwendet eine Kombination aus Systemeigenschaften und Skripteinbindungen, um zu bestimmen, wie das System URL-Umleitungen für Anwender verarbeitet, die sich beim Portal anmelden.

    Nur Anwender, die SSO, URL-Umleitungen und verstehen ServiceNowDie Plattform muss alle Änderungen vornehmen.

    Single Sign-on und Serviceportal

    Dient zur Verwendung von Single Sign-on mit Serviceportal, Sie müssen das Plugin „Integration – Installationsprogramm für Einzelanmeldung für mehrere Anbieter“ (com.snc.integration.sso.multi.installer) aktivieren.

    Wenn Sie die Systemeigenschaft verwenden, um automatisch zu Ihrem primären IDP umzuleiten, dann ServiceportalWird automatisch zu diesem IDP umgeleitet. Wenn Sie mehrere Identitätsanbieter haben, ServiceportalZeigt einen Link auf der Anmeldeseite an Externe Anmeldung verwenden . Weitere Informationen zu SSO und Authentifizierung in der Plattform finden Sie unter Single Sign-on für mehrere Anbieter (SSO) .

    Um Anwender zur Anmeldeseite „SSO-Anbieter identifizieren“ (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 Anmeldeseite des SSO-Anbieters (IdP) umzuleiten, ohne zuerst zu versuchen, 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 SupportKnowledge Base.

    Authentifizierung für erforderlich ServiceportalSeite

    Wenn Sie die Authentifizierung für benötigen ServiceportalSeite, stellen Sie sicher, dass Öffentlich Kennzeichnung im Seitendatensatz ist nicht ausgewählt. Weitere Informationen finden Sie unter Erstellen und bearbeiten Sie eine Seite mit ServiceportalDesigner. Wenn ein Anwender zu einer nicht öffentlichen Seite navigiert, wird er zur Anmeldeseite für das angeforderte Portal weitergeleitet.

    Da jede Seitenanforderung über weitergeleitet wird $sp Seite, diese Seite muss öffentlich sein. Die folgenden Werte in den öffentlichen Seiten sys_public Tabelle definiert die Seite als öffentlich:

    • Seite : $sp
    • Aktiv : Wahr

    Konfigurieren Sie ein Portal als Instanz-Anmeldeseite

    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 weiterleiten 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 SPEintragsseite .
      3. In Skript Feld, bearbeiten Sie das Skript, um das zugewiesene Portal in das gewünschte 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 ServiceportalSeite nach der Anmeldung.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Prozedur

    1. Eingabetaste 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 Neue SPEntryPage().getFirstPageURL() Erste Seite nach 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 Serverskript-Include-Methode, die bestimmt, wo die Anmeldung erfolgen soll
      GetFirstPageURL führt hauptsächlich Folgendes aus:
      • Leitet zu um Login_redirect.do Zum Ausbrechen des Framesets (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 zum Portalsuffix, z. B. /Sp .
    3. Wahlweise: Passen Sie das Verhalten nach der Anmeldung in an SPEintragsseite Skripteinbindung.

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

      Beispiel: Wenn Anwender mit bestimmten Rollen umgeleitet werden sollen Serviceportal, Können Sie ändern User.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 User.hasRoles() Überprüfen.
      • Wenn Sie eine externe Authentifizierung verwenden, stellen Sie sicher, dass Ihr IDP den Parameter „RelayState URL“ unterstützt. Dieser Parameter behält die ursprünglich angeforderte URL bei, während sich der Anwender authentifiziert, und ist für die Weiterleitung nach der Anmeldung erforderlich.

    Nächste Maßnahme

    Informationen zum Debuggen der Umleitung finden Sie unter Serviceportal-URL-Umleitungen 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-Wissensdatenbank.

    Serviceportal-URL-Umleitungen debuggen

    Debuggen der URL-Umleitungen für die Anmeldung bei ServiceportalUnd Umleitung zur ersten Seite.

    Um die Debug-Ausgabe von SPEntryPage anzuzeigen und die Sitzungsvariablen anzuzeigen, auf denen sie basierend auf umgeleitet wird:
    1. Stellen Sie sicher, dass die Systemeigenschaft „Glide.entry.first.page.script“ den folgenden Wert hat: Neue SPEntryPage().getFirstPageURL() .
    2. Legen Sie in der SPEntryPage-Skripteinbindung fest This.logVariables = wahr .
    3. Melden Sie sich in einem separaten Browser an.
    4. Zeigen Sie im Systemnavigator die Protokollausgabe an, indem Sie zu navigieren Systemprotokolle > Systemprotokoll > Allean.