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.jsp
a/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.js
a/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();