Inicio de sesión único single-sign-on

CAUTION
AEM 6.4 ha llegado al final de la compatibilidad ampliada y esta documentación ya no se actualiza. Para obtener más información, consulte nuestra períodos de asistencia técnica. Buscar las versiones compatibles here.

Inicio de sesión único (SSO) permite que un usuario acceda a varios sistemas después de proporcionar credenciales de autenticación (como un nombre de usuario y una contraseña) una vez. Un sistema independiente (conocido como autenticador de confianza) realiza la autenticación y proporciona al Experience Manager las credenciales del usuario. El Experience Manager comprueba y aplica los permisos de acceso para el usuario (es decir, determina a qué recursos se le permite acceder).

El servicio Gestor de autenticación SSO ( com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler) procesa los resultados de autenticación que proporciona el autenticador de confianza. El gestor de autenticación SSO busca un ssid (identificador SSO) como el valor de un atributo especial en las siguientes ubicaciones en este orden:

  1. Solicitar encabezados
  2. Cookies
  3. 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.

Debe especificar 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, la mera presencia de él es importante y verificada.

Configuración de SSO configuring-sso

Para configurar SSO para una instancia de AEM, debe configurar la variable Gestor de autenticación SSO:

  1. Al trabajar con AEM hay varios métodos para administrar los ajustes de configuración de dichos servicios; see Configuración de 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 su propio nombre de dominio.
      Para CoSign:

    • Ruta: según sea necesario; por ejemplo, /

    • Nombres de encabezado: remote_user

    • Formato de ID: AsIs

    Para SiteMinder:

    • Ruta: según sea necesario; por ejemplo, /
    • Nombres de encabezado: SM_USER
    • Formato de ID: AsIs
  2. Confirme que el Inicio de sesión único funciona según sea necesario. incluida la autorización.

CAUTION
Asegúrese de que los usuarios no puedan acceder a AEM directamente si SSO está configurado.
Al exigir a los usuarios que pasen por un servidor web que ejecute el agente de su sistema SSO, se garantiza que ningún usuario pueda enviar directamente un encabezado, cookie o parámetro que lleve a que el usuario sea de confianza para AEM, ya que el agente filtrará dicha información si se envía desde el exterior.
Cualquier usuario que pueda acceder directamente a su instancia de AEM sin pasar por el servidor web podrá actuar como cualquier usuario enviando el encabezado, la cookie o el parámetro si se conocen los nombres.
Asegúrese también de que de los encabezados, cookies y nombres de parámetros de solicitud, solo configure el que es necesario para la configuración de SSO.
NOTE
Inicio de sesión único se utiliza a menudo junto con LDAP.
NOTE
Si también utiliza la variable Dispatcher con el servidor de información de Internet (IIS) de Microsoft, se necesitará una configuración adicional en:
  • disp_iis.ini
  • IIS
En disp_iis.ini configurado:
(consulte instalación de Dispatcher con el servidor de información de Internet de Microsoft para obtener más información)
  • servervariables=1 (reenvía variables de 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")
En IIS:
  • disable Acceso anónimo

  • enable Autenticación integrada de Windows

Puede ver qué controlador de autenticación se está aplicando a cualquier sección del árbol de contenido mediante la variable Autenticador de la Consola Felix; por ejemplo:

http://localhost:4502/system/console/slingauth

El controlador que mejor se adapte a la ruta se consulta primero. Por ejemplo, si configura handler-A para la ruta / y handler-B para la ruta /contenty luego una solicitud para /content/mypage.html primero consultará handler-B.

screen_shot_2012-02-15at21006pm

Ejemplo example

Para una solicitud de cookie (con 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

Con 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&reg; CQ5</title>
....

Esto también funciona si se 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

NOTE
Al utilizar el parámetro de solicitud en un navegador, solo verá algunos de los HTML - sin CSS. Esto se debe a que todas las solicitudes del HTML se realizan sin el parámetro de solicitud .

Al utilizar SSO, el inicio y la cierre de sesión se gestionan de forma externa, por lo que AEM propios vínculos de cierre de sesión ya no son aplicables y deben eliminarse.

El vínculo de cierre de sesión en la pantalla de bienvenida se puede eliminar siguiendo los pasos siguientes.

  1. Superposición /libs/cq/core/components/welcome/welcome.jsp a /apps/cq/core/components/welcome/welcome.jsp

  2. 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:

  1. Superposición /libs/cq/ui/widgets/source/widgets/UserInfo.js a /apps/cq/ui/widgets/source/widgets/UserInfo.js

  2. 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();
    
recommendation-more-help
6a71a83d-c2e0-4ce7-a6aa-899aa3885b56