Single Sign-On single-sign-on
Single Sign-On (SSO) consente a un utente di accedere a più sistemi dopo aver fornito le credenziali di autenticazione, ad esempio un nome utente e una password. L'autenticazione viene eseguita da un sistema separato, denominato autenticatore attendibile, che fornisce agli Experienci Manager le credenziali utente. Experience Manager verifica e applica le autorizzazioni di accesso per l’utente (ovvero, determina quali risorse l’utente può accedere).
Il servizio Gestore autenticazione SSO ( com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler) elabora i risultati di autenticazione forniti dall'autenticatore attendibile. Il gestore di autenticazione SSO cerca un identificatore SSO (SSID) come valore di un attributo speciale nelle posizioni seguenti in questo ordine:
- Intestazioni richiesta
- Cookie
- Parametri di richiesta
Quando viene trovato un valore, la ricerca viene completata e questo valore viene utilizzato.
Configura i due servizi seguenti per riconoscere il nome dell'attributo che memorizza l'SSID:
- Il modulo di accesso.
- Il servizio di autenticazione SSO.
Specificare lo stesso nome di attributo per entrambi i servizi. L'attributo è incluso in SimpleCredentials fornito a Repository.login. Il valore dell’attributo è irrilevante e ignorato, la sua mera presenza è importante e verificata.
Configurazione dell’SSO configuring-sso
Per configurare SSO per un'istanza AEM, configurare il Gestore autenticazione SSO:
-
Quando si lavora con AEM, esistono diversi metodi per gestire le impostazioni di configurazione per tali servizi; vedere Configurazione di OSGi per ulteriori dettagli e le procedure consigliate.
Ad esempio, per il set NTLM:
-
Percorso: come richiesto; ad esempio,
/ -
Nomi intestazione:
LOGON_USER -
Formato ID:
^<DOMAIN>\\(.+)$Dove
<*DOMAIN*>è sostituito dal nome del tuo dominio.
Per CoSign:
- Percorso: come richiesto; ad esempio,
/ - Nomi intestazioni: remote_user
- Formato ID: Così Com'È
Per SiteMinder:
- Percorso: come richiesto; ad esempio,
/ - Nomi intestazione: SM_USER
- Formato ID: così com'è
-
-
Verificare che Single Sign-On funzioni come richiesto, inclusa l'autorizzazione.
disp_iis.ini- IIS
disp_iis.ini set:(per informazioni dettagliate, vedere installazione di Dispatcher con Microsoft® Internet Information Server)
servervariables=1(inoltra le variabili del server IIS come intestazioni di richiesta all'istanza remota)replaceauthorization=1(sostituisce qualsiasi intestazione denominata "Authorization" diversa da "Basic" con il suo equivalente "Basic")
-
disabilita Accesso anonimo
-
abilita autenticazione integrata di Windows
Puoi vedere quale gestore di autenticazione viene applicato a qualsiasi sezione della struttura del contenuto utilizzando l'opzione Autenticatore della console Felix; ad esempio:
http://localhost:4502/system/console/slingauth
Viene eseguita prima una query sul gestore che corrisponde meglio al percorso. Ad esempio, se si configura il gestore A per il percorso / e il gestore B per il percorso /content, una richiesta a /content/mypage.html eseguirà prima la query del gestore B.
Esempio example
Per una richiesta di cookie (utilizzando l'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
Utilizzando la seguente configurazione:
-
Percorso:
/ -
Nomi intestazione:
TestHeader -
Nomi cookie:
TestCookie -
Nomi Parametri:
TestParameter -
Formato ID:
AsIs
La risposta sarebbe:
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>
....
Questo funziona anche se richiedi:http://localhost:4502/libs/cq/core/content/welcome.html?TestParameter=admin
Oppure puoi usare il seguente comando curl per inviare l'intestazione TestHeader a admin:curl -D - -H "TestHeader: admin" http://localhost:4502/libs/cq/core/content/welcome.html
Rimozione dei collegamenti di disconnessione AEM removing-aem-sign-out-links
Quando si utilizza l’SSO, l’accesso e la disconnessione vengono gestiti esternamente, pertanto i collegamenti di disconnessione propri dell’AEM non sono più applicabili e devono essere rimossi.
Il collegamento di disconnessione nella schermata di benvenuto può essere rimosso seguendo la procedura riportata di seguito.
-
Sovrapponi
/libs/cq/core/components/welcome/welcome.jspa/apps/cq/core/components/welcome/welcome.jsp -
rimuovi la parte seguente da jsp.
<a href="#" onclick="signout('<%= request.getContextPath() %>');" class="signout"><%= i18n.get("sign out", "welcome screen") %>
Per rimuovere il collegamento di disconnessione disponibile nel menu personale dell'utente nell'angolo in alto a destra, eseguire la procedura seguente:
-
Sovrapponi
/libs/cq/ui/widgets/source/widgets/UserInfo.jsa/apps/cq/ui/widgets/source/widgets/UserInfo.js -
Rimuovere la parte seguente dal file:
code language-none menu.addMenuItem({ "text":CQ.I18n.getMessage("Sign out"), "cls": "cq-userinfo-logout", "handler": this.logout }); menu.addSeparator();