Single Sign On single-sign-on
L'accesso 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) una volta. Un sistema separato (noto come autenticatore affidabile) esegue l'autenticazione e fornisce Experienci Manager con le credenziali utente. Experience Manager controlla e applica le autorizzazioni di accesso per l’utente (ovvero determina a quali risorse l’utente può accedere).
Servizio Handler autenticazione SSO ( com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler
) elabora i risultati di autenticazione forniti dall'autenticatore affidabile. Il gestore di autenticazione SSO cerca un ssid (SSO Identifier) come valore di un attributo speciale nelle seguenti posizioni in questo ordine:
- Intestazioni richieste
- Cookie
- Parametri di richiesta
Quando viene trovato un valore, la ricerca viene completata e viene utilizzato questo valore.
Configura i due servizi seguenti per riconoscere il nome dell'attributo che memorizza il ssid:
- Modulo di accesso.
- Servizio autenticazione SSO.
È necessario specificare lo stesso nome di attributo per entrambi i servizi. L’attributo è incluso nel SimpleCredentials
che sono forniti Repository.login
. Il valore dell'attributo è irrilevante e ignorato, la sua mera presenza è importante e verificata.
Configurazione di SSO configuring-sso
Per configurare SSO per un'istanza AEM, devi configurare la Handler autenticazione SSO:
-
Quando si lavora con AEM esistono diversi metodi per gestire le impostazioni di configurazione di tali servizi; vedere Configurazione di OSGi per ulteriori dettagli e procedure consigliate.
Ad esempio, per il set NTLM:
-
Percorso: se necessario; ad esempio,
/
-
Nomi delle intestazioni:
LOGON_USER
-
Formato ID:
^<DOMAIN>\\(.+)$
Dove
<*DOMAIN*>
viene sostituito dal proprio nome di dominio.
Per CoSign: -
Percorso: se necessario; ad esempio,
/
-
Nomi delle intestazioni: remote_user
-
Formato ID: AsIs
Per SiteMinder:
- Percorso: se necessario; ad esempio,
/
- Nomi delle intestazioni: SM_USER
- Formato ID: AsIs
-
-
Verificare che Single Sign On funzioni come necessario; compresa l'autorizzazione.
disp_iis.ini
- IIS
disp_iis.ini
set:(vedi installazione di Dispatcher con Microsoft Internet Information Server per informazioni complete)
servervariables=1
(inoltra le variabili del server IIS come intestazioni della richiesta all'istanza remota)replaceauthorization=1
(sostituisce qualsiasi intestazione denominata "Autorizzazione" diversa da "Base" con il suo equivalente "Base")
-
disable Accesso anonimo
-
abilita Autenticazione integrata di Windows
Puoi vedere quale gestore di autenticazione viene applicato a qualsiasi sezione della struttura del contenuto utilizzando Autenticatore opzione della console Felix; ad esempio:
http://localhost:4502/system/console/slingauth
Viene prima eseguita una query sul gestore che meglio corrisponde al percorso. Ad esempio, se configuri handler-A per il percorso /
e handler-B per il percorso /content
, quindi una richiesta a /content/mypage.html
eseguirà prima query handler-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 configurazione seguente:
-
Percorso:
/
-
Nomi delle intestazioni:
TestHeader
-
Nomi dei cookie:
TestCookie
-
Nomi dei 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 TestHeader
intestazione 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 utilizzi SSO, l’accesso e la disconnessione vengono gestiti esternamente, in modo che AEM propri collegamenti di disconnessione non siano più applicabili e debbano essere rimossi.
Il collegamento di disconnessione nella schermata di benvenuto può essere rimosso utilizzando i seguenti passaggi.
-
Sovrapposizione
/libs/cq/core/components/welcome/welcome.jsp
a/apps/cq/core/components/welcome/welcome.jsp
-
rimuovi la parte seguente dal 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, effettua le seguenti operazioni:
-
Sovrapposizione
/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();