Logon único single-sign-on
O Logon único (SSO) permite que um usuário acesse vários sistemas após fornecer credenciais de autenticação (como um 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 (ou seja, determina quais recursos o usuário tem permissão para acessar).
O serviço 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 Identificador SSO (SSID) como o valor de um atributo especial nos seguintes locais, nesta ordem:
- Cabeçalhos de solicitação
- Cookies
- 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.
Especifique o mesmo nome de atributo para ambos os serviços. O atributo está incluído em SimpleCredentials
, que é fornecido para Repository.login
. O valor do atributo é irrelevante e ignorado, a mera presença dele é importante e verificada.
Configuração de SSO configuring-sso
Para configurar o SSO para uma instância AEM, configure o Manipulador de Autenticação SSO:
-
Ao trabalhar com AEM, há vários métodos de gerenciamento das definições de configuração desses serviços; consulte Configurar OSGi para obter mais detalhes e as práticas recomendadas.
Por exemplo, para o conjunto NTLM:
-
Caminho: conforme necessário; por exemplo,
/
-
Nomes de Cabeçalho:
LOGON_USER
-
Formato da ID:
^<DOMAIN>\\(.+)$
Onde
<*DOMAIN*>
é substituído pelo nome do seu próprio domínio.
Para CoSign:
- Caminho: conforme necessário; por exemplo,
/
- Nomes de Cabeçalho: remote_user
- Formato da ID: 'Como está'
Para o SiteMinder:
- Caminho: conforme necessário; por exemplo,
/
- Nomes de Cabeçalho: SM_USER
- Formato de ID: como está
-
-
Confirme se o Logon único está funcionando conforme necessário, incluindo autorização.
disp_iis.ini
- IIS
disp_iis.ini
:(consulte instalando o Dispatcher com o Microsoft® Internet Information Server para obter detalhes completos)
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", diferente de "Básica", por seu equivalente "Básica")
-
desabilitar Acesso anônimo
-
habilitar 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 Felix Console; 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
, uma solicitação para /content/mypage.html
consultará o manipulador B primeiro.
Exemplo example
Para uma solicitação de cookie (usando a 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 de Cabeçalho:
TestHeader
-
Nomes de Cookies:
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® 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 curl para enviar o cabeçalho TestHeader
para admin:
curl -D - -H "TestHeader: admin" http://localhost:4502/libs/cq/core/content/welcome.html
Remoção de links de saída do AEM removing-aem-sign-out-links
Ao usar o SSO, a entrada e a saída são tratadas externamente, de modo que os links de saída do AEM não sejam mais aplicáveis e devam ser removidos.
O link de saída na tela de boas-vindas pode ser removido usando as etapas a seguir.
-
Sobreposição de
/libs/cq/core/components/welcome/welcome.jsp
a/apps/cq/core/components/welcome/welcome.jsp
-
remova a seguinte parte da jsp.
<a href="#" onclick="signout('<%= request.getContextPath() %>');" class="signout"><%= i18n.get("sign out", "welcome screen") %>
Para remover o link de saída disponível no menu pessoal do usuário no canto superior direito, siga estas etapas:
-
Sobreposição de
/libs/cq/ui/widgets/source/widgets/UserInfo.js
a/apps/cq/ui/widgets/source/widgets/UserInfo.js
-
Remova a seguinte parte do arquivo:
code language-none menu.addMenuItem({ "text":CQ.I18n.getMessage("Sign out"), "cls": "cq-userinfo-logout", "handler": this.logout }); menu.addSeparator();