Single Sign-On single-sign-on
Mithilfe von Single Sign-On (SSO) können Sie durch die einmalige Eingabe Ihrer Zugangsdaten (z. B. Ihres Benutzernamens und Passworts) auf mehrere Systeme zugreifen. Ein separates System (auch als vertrauenswürdiger Authenticator bezeichnet) führt die Authentifizierung durch und stellt Experience Manager die Benutzeranmeldeinformationen zur Verfügung. Experience Manager überprüft die Zugriffsberechtigungen und setzt diese für die Benutzerin oder den Benutzer durch (legt also fest, auf welche Ressourcen die Benutzerin oder der Benutzer zugreifen darf).
Der Handler-Dienst der SSO-Authentifizierung (com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler
) verarbeitet die von der vertrauenswürdigen Authentifizierung bereitgestellten Authentifizierungsergebnisse. Der SSO-Authentifizierungs-Handler sucht nach einer SSO-Kennung (SSID) als Wert eines speziellen Attributs an den folgenden Speicherorten in dieser Reihenfolge:
- Anfrage-Header
- Cookies
- Anfrageparameter
Wenn ein Wert gefunden wird, ist die Suche abgeschlossen und dieser Wert wird verwendet.
Konfigurieren Sie die folgenden beiden Dienste, um den Namen des Attributs zu erkennen, das die SSID speichert:
- Das Anmeldemodul.
- Der SSO-Authentifizierungsdienst.
Geben Sie denselben Attributnamen für beide Services an. Das Attribut ist in den SimpleCredentials
enthalten, die beim Repository.login
angegeben werden. Der Wert des Attributs ist irrelevant und wird ignoriert. Das bloße Vorhandensein ist wichtig und wird überprüft.
SSO konfigurieren configuring-sso
Um SSO für eine AEM-Instanz zu konfigurieren, konfigurieren Sie SSO Authentication Handler:
-
Bei der Verwendung von AEM gibt es mehrere Methoden zur Verwaltung der Konfigurationseinstellungen für solche Dienste. Weitere Informationen und empfohlene Praktiken finden Sie unter Konfigurieren von OSGi.
Beispielsweise für NTLM:
-
Pfad: nach Bedarf, z. B.
/
-
Kopfzeilennamen:
LOGON_USER
-
ID-Format:
^<DOMAIN>\\(.+)$
Hierbei gilt
<*DOMAIN*>
wird durch den Namen Ihrer eigenen Domain ersetzt.
Für CoSign:
- Pfad: nach Bedarf, z. B.
/
- Kopfzeilennamen: remote_user
- ID-Format: AsIs
Für SiteMinder:
- Pfad: nach Bedarf, z. B.
/
- Kopfzeilennamen: SM_USER
- ID-Format: AsIs
-
-
Bestätigen Sie, dass Single Sign-on wie erforderlich funktioniert, einschließlich Autorisierung.
disp_iis.ini
- IIS
disp_iis.ini
Folgendes fest:(siehe Installieren des Dispatchers mit dem Microsoft® Internet Information Server Ausführliche Informationen)
servervariables=1
(leitet IIS-Server-Variablen als Anforderungskopfzeilen an die Remote-Instanz weiter)replaceauthorization=1
(ersetzt alle Kopfzeilen mit dem Namen „Authorization“ mit Ausnahme von „Basic“ durch die Entsprechung von „Basic“)
-
Deaktivieren Sie die Option Anonymer Zugriff.
-
aktivieren Integrierte Windows-Authentifizierung
Mithilfe der können Sie sehen, welcher Authentifizierungs-Handler auf einen beliebigen Abschnitt der Inhaltsstruktur angewendet wird. Authenticator Option der Felix-Konsole; zum Beispiel:
http://localhost:4502/system/console/slingauth
Der Handler, der zum größten Teil mit dem Pfad übereinstimmt, wird zuerst abgefragt. Falls Sie z. B. Handler-A für den Pfad /
und Handler-B für den Pfad /content
konfigurieren, wird bei einer Anforderung an /content/mypage.html
zuerst Handler-B abgefragt.
Beispiel example
Bei einer Cookie-Anforderung (mit der URL http://localhost:4502/libs/wcm/content/siteadmin.html
):
GET /libs/cq/core/content/welcome.html HTTP/1.1
Host: localhost:4502
Cookie: TestCookie=admin
mit folgender Konfiguration:
-
Pfad:
/
-
Kopfzeilennamen:
TestHeader
-
Cookie-Namen:
TestCookie
-
Parameternamen:
TestParameter
-
ID-Format:
AsIs
sieht die Antwort wie folgt aus:
HTTP/1.1 200 OK
Connection: Keep-Alive
Server: Day-Servlet-Engine/4.1.24
Content-Type: text/html;charset=utf-8
Date: Thu, 23 Aug 2012 09:58:39 GMT
Transfer-Encoding: chunked
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Welcome to Adobe® CQ5</title>
....
Dies funktioniert auch, wenn Sie Folgendes anfordern:http://localhost:4502/libs/cq/core/content/welcome.html?TestParameter=admin
Sie können auch den folgenden curl-Befehl verwenden, um die TestHeader
-Kopfzeile an admin:
zu senden:curl -D - -H "TestHeader: admin" http://localhost:4502/libs/cq/core/content/welcome.html
Entfernen von AEM-Abmelde-Links removing-aem-sign-out-links
Bei Verwendung von SSO werden die An- und Abmeldung extern verarbeitet, sodass AEM-eigene Abmelde-Links nicht mehr anwendbar sind und entfernt werden sollten.
Der Abmelde-Link auf dem Willkommensbildschirm kann mithilfe der folgenden Schritte entfernt werden.
-
Überlagern Sie
/libs/cq/core/components/welcome/welcome.jsp
über/apps/cq/core/components/welcome/welcome.jsp
. -
Entfernen Sie folgenden Teil aus der JSP-Datei:
<a href="#" onclick="signout('<%= request.getContextPath() %>');" class="signout"><%= i18n.get("sign out", "welcome screen") %>
Um den Abmelde-Link zu entfernen, der im persönlichen Menü des Benutzers oben rechts verfügbar ist, führen Sie die folgenden Schritte aus:
-
Überlagern Sie
/libs/cq/ui/widgets/source/widgets/UserInfo.js
über/apps/cq/ui/widgets/source/widgets/UserInfo.js
. -
Entfernen Sie den folgenden Teil aus der Datei:
code language-none menu.addMenuItem({ "text":CQ.I18n.getMessage("Sign out"), "cls": "cq-userinfo-logout", "handler": this.logout }); menu.addSeparator();