Fórumok

NTLM

thumbnail
Marcelo Guimarães Melo, módosítva 13 év-val korábban

NTLM

Regular Member Bejegyzések: 248 Csatlakozás dátuma: 2008.09.29. Legújabb bejegyzések
Pessoal,

Estou tentando recuperar o usuário da rede usando o NTLM, mas não estou tendo sucesso, a minha configuração do portal-ext.properties é a seguinte:

#
# LDAP
#
ldap.base.provider.url=ldap://nome_host_ad:389
ldap.base.dn=DC=dominio,DC=com,DC=br
ldap.security.principal=login_usuario
ldap.security.credentials=senha
#
ldap.auth.enabled=true
#
company.security.auth.type=screenName
#
# NTLM
#
ntlm.auth.enabled=true
ntlm.auth.domain.controller=IP_MAQUINA
ntlm.auth.domain.controller.name=dominio
ntlm.auth.domain=dominio
ntlm.auth.service.account=login_usuario$@dominio.com.br
ntlm.auth.service.password=senha


O erro que recebo é o seguinte:

14:26:46,731 ERROR [NtlmFilter:214] Unable to perform NTLM authentication
com.liferay.portal.security.ntlm.NtlmLogonException: Unable to authenticate due to communication failure with server
	at com.liferay.portal.security.ntlm.Netlogon.logon(Netlogon.java:98)
	at com.liferay.portal.security.ntlm.NtlmManager.authenticate(NtlmManager.java:70)
	at com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter.processFilter(NtlmFilter.java:209)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.sso.cas.CASFilter.processFilter(CASFilter.java:176)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:179)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:184)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:619)
Caused by: jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
	at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:528)
	at jcifs.smb.SmbTransport.send(SmbTransport.java:645)
	at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:322)
	at jcifs.smb.SmbSession.send(SmbSession.java:224)
	at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
	at jcifs.smb.SmbFile.doConnect(SmbFile.java:906)
	at jcifs.smb.SmbFile.connect(SmbFile.java:949)
	at jcifs.smb.SmbFile.connect0(SmbFile.java:875)
	at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:76)
	at jcifs.smb.TransactNamedPipeInputStream.<init>(TransactNamedPipeInputStream.java:38)
	at jcifs.smb.SmbNamedPipe.getNamedPipeInputStream(SmbNamedPipe.java:166)
	at jcifs.dcerpc.DcerpcPipeHandle.doSendFragment(DcerpcPipeHandle.java:66)
	at jcifs.dcerpc.DcerpcHandle.sendrecv(DcerpcHandle.java:181)
	at jcifs.dcerpc.DcerpcHandle.bind(DcerpcHandle.java:126)
	at com.liferay.portal.security.ntlm.NetlogonConnection.connect(NetlogonConnection.java:73)
	at com.liferay.portal.security.ntlm.Netlogon.logon(Netlogon.java:54)
	... 47 more
</init></init>


Debugando o código eu verifiquei que o nome usuário esta da seguinte forma:

login_usuario$


Tentei tirar o "$" de "login_usuario$@dominio.com.br" e ocorre o seguinte erro:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1


O que eu preciso por no campo "ntlm.auth.service.account"?
Eu tenho que criar um usuário especial no AD?

Obrigado,

Marcelo