Nota do editor: Conhece muito sobre esse tópico? Deseja compartilhar seu conhecimento? Participe hoje do programa de wiki do software IBM Lotus.
| Wiki do Lotus Connections |
|---|
Antes de iniciarmos a discussão a respeito da configuração da conexão única no IBM Lotus Connection, precisamos revisar alguns conceitos: Kerberos e SPNEGO. Kerberos é um protocolo de autenticação de rede de computadores desenhado e desenvolvido pelo MIT que permite a comunicação de nós através de uma rede não segura para provar suas identidades uns aos outros de uma maneira segura. A versão 5 do protocolo de autenticação Kerberos é um padrão de RFC (Pedido de Comentários).
SPNEGO (Simple and Protected GSSAPI Negotiation Mechanism) é um pseudomecanismo GSSAPI usado para negociar com uma série de possíveis mecanismos reais. Seu uso mais visível é na extensão de autenticação HTTP Negotiate da Microsoft. Os submecanismos de autenticação incluem o NTLM (NT LAN Manager) e o Kerberos, ambos usados no Microsoft Active Directory. Mais informações podem ser encontradas aqui.
O Lotus Connections pode alavancar o WebSphere Application Server SPNEGO TAI (trust association interceptor) para fornecer o recurso de conexão única (SSO), permitindo que os usuários possam se conectar ao desktop do Microsoft Windows e serem automaticamente conectados aos recursos do Lotus Connections sem a necessidade de autenticação.
A Figura 1 mostra o fluxo de dados de pedido/resposta no ambiente WebSphere Application Server SPNEGO.
Figura 1. Diagrama de fluxo de dados SPNEGO

Leia mais a respeito do WebSphere Application Server SPNEGO TAI em sua Central de Informações.
Neste artigo, ilustremos como é possível ativar o Lotus Connections para fornecer um recurso de conexão única (SSO) para usuários, baseando-se na implementação mostrada na Figura 2.
Figura 2. Topologia de implementação do Lotus Connections SPNEGO

O Active Directory e o Kerberos KDC (key distribution center) são implementados em um sistema Microsoft Windows 2003 Server Enterprise Edition. O sistema do cliente Microsoft Windows é o sistema do cliente Windows dos usuários com navegadores e outros aplicativos implementados. O servidor Lotus Connections 2.5 é o ambiente Lotus Connections 2.5 usando o Active Directory como o diretório do LDAP. O servidor Lotus Connections 2.5 pode ser um cluster de nós múltiplos ou um ambiente de nó único. Neste artigo, implementaremos o servidor Lotus Connections 2.5 no sistema Microsoft Windows.
Tarefas de pré-requisito no Active Directory e no host Kerberos KDC
Há várias tarefas de pré-requisito a serem concluídas pelos administradores do sistema no Active Directory e no host do Kerberos KDC antes de prosseguirmos.
Instale o Active Directory no Microsoft Windows 2003
Consulte http://technet.microsoft.com/en-us/library/aa998088.aspx para saber como instalar o Active Directory no Windows 2003 Server Enterprise Edition. Depois de instalar o Active Directory com sucesso, certifique-se de que os serviços do sistema do centro de distribuição de chaves do Kerberos estejam corretamente configurados na lista de Serviços. Clique duas vezes no serviço Kerberos Key Distribution Center para selecionar as propriedades do Kerberos Key Distribution Center, como mostra a Figura 3. Certifique-se de que o campo do tipo de inicialização está selecionado como Automatic (Automatic está selecionado por padrão).
Figura 3. Propriedades do Kerberos Key Distribution Center

O serviço KDC permite que os usuários efetuem o logon na rede usando o protocolo de autenticação Kerberos V5. Se o serviço for interrompido, os usuários não conseguirão fazer o logon nos serviços de domínio e acesso. Em um sistema que não esteja habilitado com o KDC (que não seja um controlador de domínio), o tipo de inicialização do serviço KDC estará desativado.
Leia mais sobre o Serviço KDC do Microsoft Windows.
Saiba como modificar as entradas do registro de protocolo Kerberos e as chaves de configuração KDC no Microsoft Windows Server 2003. Usamos o valores-padrão nessa configuração.
Certifique-se de ter instalado um servidor DNS nesse sistema Windows 2003, como mostram os detalhes da etapa 9 deste processo. Na página de DNS Registration Diagnostic, siga estas etapas:
- Clique em Install e configure o servidor DNS neste computador.
- Configure este computador para usar o servidor DNS como servidor DNS preferido.
- Clique em Next.
- O serviço DNS é executado neste Microsoft Windows 2003 Server. Clique duas vezes no serviço DNS Server para selecionar as propriedades DNS Server, como mostra a Figura 4. Certifique-se de que o campo do tipo de inicialização está selecionado como Automatic (Automatic está selecionado por padrão).
Figura 4. A janela DNS Server Properties

Sincronização do horário para o ambiente Kerberos
O Microsoft Windows Server 2003 hospedando Active Directory é usado como controlador de domínio.
Se a sincronização de horário não for um problema na intranet de sua empresa, pode-se ignorar esta seção.
O Kerberos necessita de que os relógios dos hosts envolvidos estejam sincronizados. Os bilhetes possuem um período de disponibilidade de tempo e se o relógio do host não estiver sincronizado com o relógio do servidor do Kerberos, a autenticação falha.
Geralmente usamos o controlador de domínio como servidor de horário e executamos a tarefa Windows Schedule nos hosts do servidor Lotus Connections para sincronizar a hora com o controlador de domínio. A Figura 5 mostra um exemplo de tarefa que invoca o exemplo TimeSyn.bat a cada minuto.
Figura 5. Scheduled Tasks do Windows para a sincronização de horário.

Em nosso exemplo, os usuários necessitam criar um arquivo em lote chamado TimeSyn.bat em C:\. Por exemplo, se yourdomain.com for o controlador de domínio e um servidor de horário do NTP, o TimeSyn.bat se parecerá com o código mostrado na Listagem 1.
Listagem 1. Código de exemplo para TimeSyn.bat
w32tm /config /manualpeerlist:acme.yourdomain.com.com,0x8 /syncfromflags:MANUAL net stop w32time net start w32time w32tm /resync |
Instale as ferramentas de suporte do Microsoft Windows
Instale as ferramentas de suporte do Microsoft Windows no Windows 2003 Server Enterprise Edition.
Essa ferramenta é necessária para executar o comando ktpass no controlador de domínio para definir o SNP para a conta de serviço e gerar o arquivo keytab.
É possível obter detalhes a respeito da maneira como o protocolo Kerberos funciona no Microsoft Windows Server 2003.
Configure o servidor Lotus Connections para suportar o ambiente Kerberos. Quando as tarefas de pré-requisito estiverem concluídas, poderemos iniciar a configuração do servidor Lotus Connections.
Configure o Lotus Connections para usar o Active Directory como um repositório do usuário
Consulte o Centro de Informações de Lotus Connections para saber como configurar a segurança para usar o Active Directory como um repositório do usuário e como preencher o banco de dados dos perfis.
Crie uma conta de serviço para conter o SPN no Active Directory
Um SPN (service principal name) é necessário para que o Lotus Connections no ambiente Kerberos identifique o servidor Lotus Connections. Um conta de serviço é necessária no Active Directory para conter esse SNP.
Para criar a conta de serviço, efetue o login no controlador de domínio, vá até Manage Your Server - Domain Controller (Active Directory) - Manage users and computers in Active Directory, e então clique no botão.
Na página Account, certifique-se de ter selecionado as opções User cannot change password e Password never expires, como mostra a Figura 6.
Figura 6. Propriedades de conta do novo usuário

Defina o SNP e gere um arquivo keytab
Execute o comando ktpass no controlador de domínio para definir o SNP para a conta de serviço e gerar o arquivo keytab:
ktpass –princ <SPN> -out <path_to_keytab> -mapuser <account_name>
-mapOp set –pass <account_password> onde
<SPN> é o nome principal de serviço Kerberos.
Um principal Kerberos é dividido em três partes: o primário, a instância e o domínio. O formato de um principal Kerberos típico é primary/instance@REALM. Se o Lotus Connections estiver hospedado no sistema SVTLCSPNEGO.cn.example.com e o nome de domínio for CN.EXAMPLE.COM, o SPN é HTTP/SVTLCSPNEGO.cn.example.com@CN.EXAMPLE.COM.
- <path_to_keytab> é o local onde deseja salvar o arquivo keytab.
- <account_name> é o nome da conta de serviço.
- <account_password> é a senha para o nome da conta de serviço.
Considere que a conta do usuário criada na etapa 1 seja lcserver01 e que a senha da conta de serviço seja Password1. Deve-se salvar o arquivo keytab como C:\SVTLCSPNEGO.keytab, para que o comando se pareça com o seguinte código:
ktpass -princ HTTP/SVTLCSPNEGO.cn.ibm.com@CN.IBM.COM -out
c:\SVTLCSPNEGO.keytab -mapuser lcserver01 -mapOp set -pass Passw0rd1
A saída do comando e mostrada na Listagem 2.
Listagem 2. Saída do comando ktpass
Targeting domain controller: SVTLCSPNEGO.cn.ibm.com Using legacy password setting method Successfully mapped HTTP/SVTLCSPNEGO.cn.ibm.com to lcserver01. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\SVTLCSPNEGO.keytab: Keytab version: 0x502 keysize 68 HTTP/SVTLCSPNEGO.cn.ibm.com@CN.IBM.COM ptype 0 (KRB5_NT_UNKNOWN) vno 4 ety pe 0x17 (RC4-HMAC) keylength 16 (0x5858d47a41e40b40f294b3100bea611f) |
Em um cluster do Lotus Connections, é preciso somente selecionar o nome de servidor HTTP da IBM ou o nome de host virtual (os usuários acessam o servidor HTTP da IBM ou o host virtual para conhecer os recursos do Lotus Connections) como o nome de instância no nome principal de serviço Kerberos. É necessário gerar o arquivo keytab para todos os nós no cluster do Lotus Connections.
Configure o SPNEGO TAI no WebSphere Application Server
Configure o SPNEGO TAI no console administrativo WebSphere Application Server seguindo as seguintes etapas:
- Navegue até Security - Secure administration, applications, and infrastructure, e expanda Web Security. Clique em Trust association.
- Selecione a opção Enable trust association para habilitar o TAI.
- Selecione Interceptors - com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl - Custom properties.
- Adicione as propriedades customizadas mostradas na Listagem 3.
Listagem 3. Propriedades customizadas para SPNEGO TAIcom.ibm.ws.security.spnego.SPN1.hostName=< hostname> com.ibm.ws.security.spnego.SPN1.NTLMTokenReceivedPage=<TAIRedirectPage_location> com.ibm.ws.security.spnego.SPN1.spnegoNotSupportedPage=<TAIRedirectPage_Location> com.ibm.ws.security.spnego.SPN1.filter=request-url!= /seedlist/authverify;request-url!=/seedlist/ server;request-url!=/seedlist/myserver;request-url!=noSPNEGO com.ibm.ws.security.spnego.SPN1.filterClass= com.ibm.ws.security.spnego.HTTPHeaderFilter
onde
- <hostname> é o nome do servidor com o qual o Lotus Connections é acessado (por exemplo, o nome de servidor HTTP da IBM ou o nome de host virtual).
- <TAIRedirectPage_Location> é onde a página de redirecionamento SPNEGO TAI é criada no sistema de arquivos local, por exemplo file:///Z:/share/TAIRedirect.html.
É necessário criar o arquivo HTML manualmente. O conteúdo é o código mostrado na Listagem 4.
Listagem 4. Página de redirecionamento SPNEGO TAI TAIRedirect.html
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.0 Transitional//EN">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html">
<!--
Notes:
- This file should be served from an unprotected web site. Alternatively, it can
be loaded from the WebSphere Application Server filesystem.
- Any imbedded graphics/javascript/css MUST BE loaded from an unprotected web site.
- This file will be loaded once when the WebSphere Application Server is initialized.
If changes to this file are necessary, the Application Server should be restarted.
- This file will be returned whenever the SPNEGO TAI receives an NTLM token for
ANY application in the cell. In other words, this file is generic for all applications.
However, by using the Javascipt document.location, we can get the original URL,
and redirect to that original URL with the "?noSPNEGO" text added - thus forcing
the standard application userid/password challenge.
-->
<html>
<script language="javascript">
var origUrl=""+document.location;
if (origUrl.indexOf("noSPNEGO")<0) {
if (origUrl.indexOf('?')>=0) origUrl+="&noSPNEGO";
else origUrl+="?noSPNEGO";
}
function redirTimer() {
self.setTimeout("self.location.href=origUrl;",0);
}
</script>
<META HTTP-EQUIV = "Pragma" CONTENT="no-cache">
<script language="javascript">
document.write("<title> Redirect to "+origUrl+ " </title>");
</script>
<head>
</head>
<body onLoad="redirTimer()"/>
</html>
|
- Clique em OK para salvar as alterações.
A Figura 7 é uma captura de tela do que é exibido em uma implementação real.
Figura 7. Captura de tela do console administrativo WebSphere para as propriedades customizadas SPNEGO TAI

A Listagem 5 mostra o código de exemplo JACL que pode preencher a configuração do WebSphere SPNEGO TAI da interface wsadmin. Nomeie o arquivo como ConfigTA.jacl e execute-o da seguinte maneira:
wsadmin -f ConfigTA.jacl
Lembre-se de substituir o valor com.ibm.ws.security.spnego.SPN1.hostName com a sua variável de configuração verdadeira.
Listagem 5. ConfigTA.jacl para a configuração do WebSphere SPNEGO TAI
###################################################
proc saveConfig {} {
global AdminConfig
$AdminConfig save
}
proc configTA {} {
global AdminConfig
set trustAssocConfigId [$AdminConfig list TrustAssociation]
set trust_attrib {}
set matchFound 0
set trust_assocEnabled y
set trust_interceptorClassName com.ibm.ws.security.spnego.
TrustAssociationInterceptorImpl
if {$trust_assocEnabled != {}} {
if {[regexp $trust_assocEnabled y]} {
lappend trust_attrib [list enabled "true"]
} else {
lappend trust_attrib [list enabled "false"]
}
$AdminConfig modify $trustAssocConfigId $trust_attrib
}
if {$trust_interceptorClassName != {}} {
set listOfTAI [$AdminConfig list TAInterceptor]
foreach tai $listOfTAI {
set className [$AdminConfig showAttribute $tai interceptorClassName]
if {[string compare $className $trust_interceptorClassName] == 0} {
set matchFound 1
###
break
}
}
}
if {$matchFound == 1} {
set interceptorConfigId $tai
###################################################
set trust_propertyName com.ibm.ws.security.spnego.SPN1.hostName
#replace with your IHS host
set trust_propertyValue < !! please replace with your IHS host !!>
set trust_propertyRequired false
set options_attrib {}
lappend options_attrib [list name $trust_propertyName]
lappend options_attrib [list value $trust_propertyValue]
lappend options_attrib [list required $trust_propertyRequired]
$AdminConfig modify $interceptorConfigId [list
[list trustProperties [list $options_attrib]]]
set trustAttrs [$AdminConfig showall $interceptorConfigId]
puts stdout "trustAttrs=$trustAttrs"
###################################################
set trust_propertyName com.ibm.ws.security.spnego.SPN1.filterClass
set trust_propertyValue com.ibm.ws.security.spnego.HTTPHeaderFilter
set trust_propertyRequired false
set options_attrib {}
lappend options_attrib [list name $trust_propertyName]
lappend options_attrib [list value $trust_propertyValue]
lappend options_attrib [list required $trust_propertyRequired]
$AdminConfig modify $interceptorConfigId [list [list trustProperties
[list $options_attrib]]]
set trustAttrs [$AdminConfig showall $interceptorConfigId]
puts stdout "trustAttrs=$trustAttrs"
###################################################
set trust_propertyName com.ibm.ws.security.spnego.SPN1.filter
set trust_propertyValue "request-url!=/seedlist/authverify;request-url!=
/seedlist/server;request-url!=/seedlist/myserver;request-url!=noSPNEGO"
set trust_propertyRequired false
set options_attrib {}
lappend options_attrib [list name $trust_propertyName]
lappend options_attrib [list value $trust_propertyValue]
lappend options_attrib [list required $trust_propertyRequired]
$AdminConfig modify $interceptorConfigId [list [list trustProperties
[list $options_attrib]]]
set trustAttrs [$AdminConfig showall $interceptorConfigId]
puts stdout "trustAttrs=$trustAttrs"
###################################################
set trust_propertyName com.ibm.ws.security.spnego.
SPN1.spnegoNotSupportedPage
set trust_propertyValue file:///z:/TAIRedirect.html
set trust_propertyRequired false
set options_attrib {}
lappend options_attrib [list name $trust_propertyName]
lappend options_attrib [list value $trust_propertyValue]
lappend options_attrib [list required $trust_propertyRequired]
$AdminConfig modify $interceptorConfigId [list [list trustProperties
[list $options_attrib]]]
set trustAttrs [$AdminConfig showall $interceptorConfigId]
puts stdout "trustAttrs=$trustAttrs"
###################################################
set trust_propertyName com.ibm.ws.security.spnego.
SPN1.NTLMTokenReceivedPage
set trust_propertyValue file:///z:/TAIRedirect.html
set trust_propertyRequired false
set options_attrib {}
lappend options_attrib [list name $trust_propertyName]
lappend options_attrib [list value $trust_propertyValue]
lappend options_attrib [list required $trust_propertyRequired]
$AdminConfig modify $interceptorConfigId [list [list trustProperties
[list $options_attrib]]]
set trustAttrs [$AdminConfig showall $interceptorConfigId]
puts stdout "trustAttrs=$trustAttrs"
###################################################
}
}
#############################################################
# Main procedure
#############################################################
puts stdout "Run like this: wsadmin -f ConfigTA.jacl"
puts ">configTA"
configTA
saveConfig
|
Crie um arquivo de configuração Kerberos
Antes de usar o SPNEGO TAI no WebSphere Application Server, é necessário criar um arquivo de configuração Kerberos. Primeiro, copie o arquivo keytab para o servidor onde o Lotus Connections está instalado. Então, execute o script createKrbConfigFile com o utilitário de linha de comandos wsadmin, emitindo um comando mostrado na Listagem 6.
Listagem 6. Comando wsadmin para criar o arquivo de configuração Kerberos
$AdminTask createKrbConfigFile
{
-krbPath <appserver>\java\jre\lib\security\krb5.conf
-realm <REALM>
-kdcHost <kdc_hostname>
-dns <dns_hostname>
-keytabPath <path_to_keytab>
}
|
onde
- <appserver> é o caminho do local do WebSphere Application Server, não o local do Lotus Connections.
- <REALM> é o domínio Kerberos e deve aparecer em letras maiúsculas.
- <kdc_hostname> é o nome do host do centro de distribuição de chaves.
- <dns_hostname> é o nome do servidor DNS.
- <path_to_keytab> é o local do arquivo keytab gerado no controlador de domínio.
Habilite o WebSphere SPNEGO TAI
Para habilitar o SPNEGO TAI, efetue o login no console administrativo do WebSphere Application Server e navegue até Servers - Application servers. Selecione o nome do servidor (geralmente server1), expanda Java and Process Management, e selecione Process Definition - Java Virtual Machine - Custom Properties.
Adicione duas propriedades customizadas:
com.ibm.ws.security.spnego.isEnabled = true
java.security.krb5.conf =<path_to_krb5.conf>
Caso instale o Lotus Connections em instâncias do servidor múltiplas, é necessário repetir essa etapa para todas as instâncias de servidor.
A Listagem 7 mostra o código de exemplo Jython que pode preencher a tarefa da interface wsadmin. Nomeie o arquivo como configspnegojvm.py e execute-o da seguinte maneira:
wsadmin -lang jython -user wasadmin -password wasadmin -f configspnegojvm.py
Your_Cell_Name Your_Node_Name Your_ServerInstance_Name. Listagem 7. configspnegojvm.py para habilitar as propriedades customizadas JVM SPNEGO
def configspnegojvm(cellName, nodeName, serverName):
global AdminConfig
krb5conf = "C:/IBM/WebSphere/AppServer/java/jre/lib/security/krb5.conf"
javasrv = AdminConfig.getid("/Cell:" + cellName + "/Node:" + nodeName +
"/Server:" + serverName + "/")
# Checking for existence of server
print "Checking for existence of server " + serverName
if len(javasrv) == 0:
print "Error -- server not found for name " + serverName + " :: /Cell:" +
cellName + "/Node:" + nodeName + "/Server:" + serverName + "/"
return
else:
print "OK. " + javasrv
#======================add JVM Custom Properties=====================
javaproc = AdminConfig.list('JavaProcessDef', javasrv)
prop = AdminConfig.list('Property', javaproc)
jvmp = AdminConfig.list('JavaVirtualMachine', javaproc)
if (prop.find("com.ibm.ws.security.spnego.isEnabled") >= 0):
print "INFO: JVM properties seem already exist:"
print prop
return
AdminConfig.create('Property', jvmp, [['name', 'com.ibm.ws.security.
spnego.isEnabled'], ['value', 'true'], ['required', 'false']])
AdminConfig.create('Property', jvmp, [['name', 'java.security.krb5.conf'],
['value', krb5conf], ['required', 'false']])
AdminConfig.save()
print "==========Current JVM Custom Properties=========="
prop = AdminConfig.list('Property', jvmp)
print prop
#Main:
#./wsadmin -lang jython -user wasadmin -password wasadmin -f configspnegojvm.py
Your_Cell_Name Your_Node_Name Your_ServerInstance_Name
if (len(sys.argv) != 3):
print "This script requires 3 parameters"
print "e.g.:./wsadmin -lang jython -user wasadmin -password wasadmin -f
configspnegojvm.py Your_Cell_Name Your_Node_Name Your_ServerInstance_Name"
else:
cellName = sys.argv[0]
nodeName = sys.argv[1]
serverName = sys.argv[2]
print "cellName: " + cellName
print "nodeName: " + nodeName
print "serverName: " + serverName
print
configspnegojvm(cellName, nodeName, serverName)
|
Configure o proxy Ajax para o cookie LtpaToken
Adicione a seguinte parte ao arquivo proxy-config.tpl para configurar o proxy Ajax para servir de proxy para os cookies LtpaToken. Pode-se executar essa tarefa com o utilitário wsadmin para, primeiramente, extrair os arquivos de configuração, adicionar o seguinte conteúdo e verificar a configuração: É necessário reiniciar as instâncias do servidor para que as mudanças surtam efeito. Veja a Listagem 8.
Listagem 8. Configurações proxy-config.tpl para o cookie LtpaToken do proxy Ajax
<proxy:cookies>
<proxy:cookie>JSESSIONID</proxy:cookie>
<proxy:cookie>LtpaToken</proxy:cookie>
<proxy:cookie>LtpaToken2</proxy:cookie>
</proxy:cookies>
|
Configure as regras de regravação de HTTP para sair para um URI não protegido
Configure as regras de regravação de URL no arquivo de configuração do servidor HTTP da IBM chamado httpd.conf para sair para uma página da Web não protegida, de modo que a autenticação SPNEGO não efetue o login do usuário novamente. Siga estas etapas:
- Abra o arquivo httpd.conf no servidor IBM HTTP, e remova os comentários das seguintes linhas (remova o #):
#LoadModule rewrite_module modules/mod_rewrite.so - Então adicione o código mostrado na Listagem 9.
Listagem 9. Regras de regravação HTTP
RewriteEngine On
RewriteCond %{REQUEST_URI} /(.*)/ibm_security_logout(.*)
RewriteCond %{QUERY_STRING} !=logoutExitPage=<your-logout-url>
RewriteRule /(.*)/ibm_security_logout(.*)
/$1/ibm_security_logout?logoutExitPage=<your-logout-url>
[noescape,L,R]
|
Onde <your-logout-url> é o URL desprotegido para o qual o usuário é redirecionado após o logout. É um URL desprotegido para prevenir a autenticação SPNEGO.
Certifique-se de configurar a regra de regravação do URL tanto para o HTTP quanto para o HTTPS.
Configurando o navegador do cliente para usar o SPNEGO
Os usuários necessitam configurar seus clientes antes de usarem os serviços Lotus Connections no ambiente Kerberos.
Sistema do cliente do usuário para se une ao domínio
Primeiramente, o sistema do cliente do usuário se une ao domínio. O valor do servidor DNS do sistema do cliente está definido como o endereço do controlador de domínio na janela de propriedades TCP/IP, como mostra a figura 8.
Figura 8. Propriedades TCP/IP no sistema do cliente

Em seguida, siga o link http://support.microsoft.com/kb/295017 para se unir ao domínio. . Depois de ter se unido ao domínio com sucesso, o administrador do controlador de domínio pode ver o novo membro participante na visualização Active Directory Users and Computers, como mostra a figura 9.
Figura 9. Lista de computadores que pertencem ao domínio específico

Configuração do navegador do cliente do usuário
Em seguida, os usuários necessitam configurar seus navegadores do cliente para usar o SPNEGO.
Caso esteja usando o Microsoft Internet Explorer, siga as seguintes etapas:
- Na janela do Internet Explorer, selecione Tools - Internet Options - Security.
- Selecione o ícone de intranet Local e clique em Sites.
- Na janela que será exibida, clique em Advanced. No campo Add this Web site to the zone insira o endereço da Web para o nome de host para que uma conexão única (SSO) possa ser habilitada na lista de Web sites mostrados no campo de Web sites.
- Clique em Close, e então clique em OK para completar esta etapa e fechar a janela da intranet Local.
Figura 10. Configurações da intranet Local

- Nesta seção da janela com o nome de Security level for this zone, clique em Custom Level. Na janela Security Settings que aparecerá, role até User Authentication - Logon e selecione a opção Automatic logon only in Intranet zone. Clique em OK e feche a janela Security Settings. Consulte a figura 11.
Figura 11.Configurações de segurança para a zona de intranet local

- Na janela Internet Options, clique na guia Advanced e role até Security settings. Certifique-se de que a opção Enable Integrated Windows Authentication (requires restart) está selecionada. Consulte a figura 12.
Figura 12. Configuração das Opções de Internet

- Clique em OK. Reinicie seu navegador Internet Explorer para ativar essa configuração.
Caso esteja utilizando o navegador Mozilla Firefox, siga estas etapas:
- Abra o Firefox.
- No campo de endereço, insira about:config.
- No campo Filter, insira about:config.
- Clique duas vezes em.negotiate-auth.trusted-uris. Esta preferência lista os sites que podem empregar a autenticação SPNEGO com o navegador. Insira uma lista, delimitada por vírgulas, de domínios ou URLs confiáveis.
Observação: Deve-se definir o valor para network.negotiate-auth.trusted-uris como mostra a Figura 13.
Figura 13. Configuração do navegador Mozilla Firefox

- Se a solução SPNEGO implementada utiliza o recurso Kerberos avançado de delegação de credencial, clique duas vezes em network.negotiate-auth.delegation-uris. Essa preferência lista os sites que o browser pode delegar autorização de usuário para o servidor. Insira uma lista, delimitada por vírgulas, de domínios ou URLs confiáveis.
- Clique em OK. A configuração será exibida como atualizada.
- Reinicie seu navegador Firefox para ativar essa configuração.
Acesse o Lotus Connections com a capacidade de conexão única no ambiente Kerberos
Após concluir todas as etapas anteriores, os usuários podem começar a experimentar o Lotus Connections com uma conexão única. Eles necessitam fazer o logon em seus sistemas e não serão impugnados ao usar os recursos do Lotus Connections. A figura 14 é uma captura de tela de uma implementação real. O usuário Aamir_000_000 efetua o logon em seu cliente Windows (que se uniu ao domínio controlado pelo controlador de domínio), abre o navegador Firefox, insere o endereço da home page do Lotus Connections e efetua o logon no Lotus Connections automaticamente.
Figura 14. Home page do Lotus Connections carregada automaticamente

Caso surja algum problema ao utilizar o Lotus Connections no ambiente SPNEGO, pode-se ativar o rastreamento no SPNEGO e no Kerberos usando as seguintes configurações:
Configuração da propriedade customizada JVM
com.ibm.security.jgss.debug = all
com.ibm.security.krb5.Krb5Debug = all Configuração de logs e rastreamento
com.ibm.ws.security.*=all: com.ibm.ws.security.spnego.*=all
Este artigo introduziu o conceito de conexão única SPNEGO no Microsoft Windows e configurações para o Lotus Connections 2.5, fornecendo explicações detalhadas para cada etapa de configuração. Os exemplos de listagens de código deste artigo, que são muito úteis para a automatização do trabalho da administração do sistema, foram verificadas pela equipe de testes do sistema.
Essas etapas de configuração podem ser também aplicadas a outros aplicativos da Web.
- Participar do fórum de discussão.
-
Leia o artigo no Centro de Informações do WebSphere Application Server, "Criando uma Conexão Única para Pedidos HTTP Utilizando o SPNEGO TAI."
-
Consulte o Guia do Usuário do Kerberos.
Yang Chao Feng trabalha no IBM China Software Development Lab em Pequim, no IBM Lotus Connections. Entre em contato com ele pelo e-mail yangcf@cn.ibm.com.