Show Menu
TÓPICOS×

Logon único

O logon único (SSO) permite que um usuário acesse vários sistemas após fornecer credenciais de autenticação (como nome de usuário e senha) uma vez. Um sistema separado (conhecido como autenticador confiável) executa a autenticação e fornece ao Experience Manager as credenciais do usuário. O Experience Manager verifica e impõe as permissões de acesso para o usuário (isto é, determina quais recursos o usuário tem permissão para acessar).
O serviço de Manipulador de Autenticação SSO ( com.adobe.granite.auth.sso.impl.SsoAuthenticationHandler ) processa os resultados de autenticação fornecidos pelo autenticador confiável. O Manipulador de Autenticação SSO procura um ssid (Identificador SSO) como o valor de um atributo especial nos seguintes locais nesta ordem:
  1. Cabeçalhos de solicitação
  2. Cookies
  3. Parâmetros de solicitação
Quando um valor é encontrado, a pesquisa é concluída e esse valor é usado.
Configure os dois serviços a seguir para reconhecer o nome do atributo que armazena o ssid:
  • O módulo de logon.
  • O serviço de Autenticação SSO.
Você deve especificar o mesmo nome de atributo para ambos os serviços. O atributo está incluído no atributo SimpleCredentials fornecido para Repository.login . O valor do atributo é irrelevante e ignorado, sua mera presença é importante e verificada.

Configurando SSO

Para configurar o SSO para uma instância do AEM, é necessário configurar o Manipulador de Autenticação SSO:
  1. When working with AEM there are several methods of managing the configuration settings for such services; see Configuring OSGi for more details and the recommended practices.
    Por exemplo, para o conjunto NTLM:
    • Caminho: conforme necessário;por exemplo, /
    • Nomes do cabeçalho: LOGON_USER
    • Formato da ID: ^<DOMAIN>\\(.+)$
      Onde <*DOMAIN*> é substituído pelo seu próprio nome de domínio. Para CoSign:
    • Caminho: conforme necessário;por exemplo, /
    • Nomes do cabeçalho: remote_user
    • Formato da ID: AsIs Para o SiteMinder:
    • Caminho: conforme necessário;por exemplo, /
    • Nomes do cabeçalho: SM_USER
    • Formato da ID: AsIs
  2. Confirme se o Logon único está funcionando conforme necessário; incluindo autorização.
Verifique se os usuários não podem acessar o AEM diretamente se o SSO estiver configurado.
Ao exigir que os usuários passem por um servidor da Web que executa o agente do sistema SSO, é garantido que nenhum usuário possa enviar diretamente um cabeçalho, cookie ou parâmetro que fará com que o usuário seja confiável pelo AEM, já que o agente filtrará essas informações se forem enviadas de fora.
Qualquer usuário que possa acessar diretamente sua instância do AEM sem passar pelo servidor da Web poderá agir como qualquer usuário enviando o cabeçalho, o cookie ou o parâmetro, se os nomes forem conhecidos.
Certifique-se também de que, dos cabeçalhos, cookies e nomes de parâmetros de solicitação, você só configure o que é necessário para a configuração SSO.
O Logon único é frequentemente usado em conjunto com o LDAP .
Se você também estiver usando o Dispatcher com o Microsoft Internet Information Server (IIS), será necessária uma configuração adicional em:
  • disp_iis.ini
  • IIS
No disp_iis.ini conjunto:
  • servervariables=1 (encaminha variáveis do servidor IIS como cabeçalhos de solicitação para a instância remota)
  • replaceauthorization=1 (substitui qualquer cabeçalho chamado "Autorização", que não seja "Básica", por seu equivalente "Básico")
No IIS:
  • desativar acesso anônimo
  • ativar a autenticação integrada do Windows
Você pode ver qual manipulador de autenticação está sendo aplicado a qualquer seção da árvore de conteúdo usando a opção Autenticador do Console Felix; por exemplo:
http://localhost:4502/system/console/slingauth
O manipulador que melhor corresponde ao caminho é consultado primeiro. Por exemplo, se você configurar o manipulador A para o caminho / e o manipulador B para o caminho /content , então uma solicitação para /content/mypage.html consultará o manipulador B primeiro.

Exemplo

Para uma solicitação de cookie (usando o 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

Usando a seguinte configuração:
  • Caminho : /
  • Nomes do cabeçalho: TestHeader
  • Nomes de cookie: TestCookie
  • Nomes de parâmetros: TestParameter
  • Formato da ID: AsIs
A resposta seria:
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>
....

Isso também funciona se você solicitar: http://localhost:4502/libs/cq/core/content/welcome.html?TestParameter=admin
Ou você pode usar o seguinte comando de curva para enviar o TestHeader cabeçalho para admin:``curl -D - -H "TestHeader: admin" http://localhost:4502/libs/cq/core/content/welcome.html
Ao usar o parâmetro de solicitação em um navegador, você verá apenas alguns dos HTML - sem CSS. Isso ocorre porque todas as solicitações do HTML são feitas sem o parâmetro de solicitação.