Inicio de sesión único single-sign-on
Inicio de sesión único (SSO) permite a un usuario acceder a varios sistemas después de proporcionar credenciales de autenticación (como nombre de usuario y contraseña) una vez. Un sistema independiente (conocido como autenticador de confianza) realiza la autenticación y proporciona al Experience Manager las credenciales de usuario. El Experience Manager comprueba y aplica los permisos de acceso del usuario (es decir, determina a qué recursos puede acceder el usuario).
El servicio Controlador de autenticación SSO ( com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler
) procesa los resultados de autenticación que proporciona el autenticador de confianza. El Controlador de autenticación SSO busca un Identificador de SSO (SSID) como el valor de un atributo especial en las siguientes ubicaciones en este orden:
- Encabezados de solicitud
- Cookies
- Parámetros de solicitud
Cuando se encuentra un valor, la búsqueda finaliza y se utiliza este valor.
Configure los dos servicios siguientes para reconocer el nombre del atributo que almacena el SSID:
- El módulo de inicio de sesión.
- El servicio de autenticación SSO.
Especifique el mismo nombre de atributo para ambos servicios. El atributo se incluye en la variable SimpleCredentials
que se proporciona a Repository.login
. El valor del atributo es irrelevante e ignorado, su mera presencia es importante y verificada.
Configuración de SSO configuring-sso
AEM Para configurar el SSO de una instancia de, configure el Controlador de autenticación SSO:
-
AEM Al trabajar con los servicios de configuración, existen varios métodos para administrar los parámetros de configuración de dichos servicios; consulte Configurar OSGi para obtener más información y las prácticas recomendadas.
Por ejemplo, para el conjunto NTLM:
-
Ruta: según sea necesario; por ejemplo,
/
-
Nombres de encabezado:
LOGON_USER
-
Formato de ID:
^<DOMAIN>\\(.+)$
Donde
<*DOMAIN*>
se reemplaza por el nombre de su propio dominio.
Para firmar conjuntamente:
- Ruta: según sea necesario; por ejemplo,
/
- Nombres de encabezado: usuario_remoto
- Formato de ID: AsIs
Para SiteMinder:
- Ruta: según sea necesario; por ejemplo,
/
- Nombres de encabezado: SM_USER
- Formato de ID: tal cual
-
-
Confirme que el inicio de sesión único funciona según sea necesario, incluida la autorización.
disp_iis.ini
- IIS
disp_iis.ini
set:(consulte instalar Dispatcher con Microsoft® Internet Information Server para obtener información detallada)
servervariables=1
(reenvía variables del servidor IIS como encabezados de solicitud a la instancia remota)replaceauthorization=1
(reemplaza cualquier encabezado denominado "Autorización" que no sea "Básico" por su equivalente "Básico")
-
disable Acceso anónimo
-
habilitar Autenticación de Windows integrada
Puede ver qué controlador de autenticación se está aplicando a cualquier sección del árbol de contenido utilizando Autenticador de la Consola Felix; por ejemplo:
http://localhost:4502/system/console/slingauth
Primero se consulta el controlador que mejor coincida con la ruta. Por ejemplo, si configura el controlador A para la ruta /
y el controlador B para la ruta /content
, luego una solicitud a /content/mypage.html
consultará primero el controlador-B.
Ejemplos example
Para una solicitud de cookie (mediante la dirección 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
Usar la siguiente configuración:
-
Ruta:
/
-
Nombres de encabezado:
TestHeader
-
Nombres de cookies:
TestCookie
-
Nombres de parámetros:
TestParameter
-
Formato de ID:
AsIs
La respuesta sería:
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>
....
Esto también funciona si solicita:http://localhost:4502/libs/cq/core/content/welcome.html?TestParameter=admin
O puede utilizar el siguiente comando curl para enviar la variable TestHeader
encabezado a admin:
curl -D - -H "TestHeader: admin" http://localhost:4502/libs/cq/core/content/welcome.html
AEM Eliminación de vínculos de cierre de sesión removing-aem-sign-out-links
AEM Al utilizar SSO, el inicio y cierre de sesión se gestionan externamente, por lo que los vínculos de cierre de sesión propios ya no son aplicables y deben eliminarse.
El vínculo de cierre de sesión en la pantalla de bienvenida se puede eliminar siguiendo estos pasos.
-
Superposición
/libs/cq/core/components/welcome/welcome.jsp
hasta/apps/cq/core/components/welcome/welcome.jsp
-
elimine la siguiente parte del jsp.
<a href="#" onclick="signout('<%= request.getContextPath() %>');" class="signout"><%= i18n.get("sign out", "welcome screen") %>
Para eliminar el vínculo de cierre de sesión disponible en el menú personal del usuario en la esquina superior derecha, siga estos pasos:
-
Superposición
/libs/cq/ui/widgets/source/widgets/UserInfo.js
hasta/apps/cq/ui/widgets/source/widgets/UserInfo.js
-
Elimine la siguiente parte del archivo:
code language-none menu.addMenuItem({ "text":CQ.I18n.getMessage("Sign out"), "cls": "cq-userinfo-logout", "handler": this.logout }); menu.addSeparator();