露天中某些用户的SSO错误

时间:2012-09-10 19:38:44

标签: authentication single-sign-on alfresco ntlm passthru

我们在集群环境(Alfresco和tomcat)中有两个节点,带有passthru身份验证以及配置的ldap和NTLM。协议顺序是TCPIP,NETBIOS。它在大多数情况下工作正常,但有时候对于某些用户来说,身份验证屏幕会一次又一次地出现。

下面是堆栈跟踪。任何指针都会有所帮助。

  

net.sf.acegisecurity.AuthenticationServiceException:I / O错误;嵌套   异常是java.net.SocketException:Socket关闭了   org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl.authenticatePassthru(NTLMAuthenticationComponentImpl.java:908)   在   org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl.authenticate(NTLMAuthenticationComponentImpl.java:555)   at sun.reflect.GeneratedMethodAccessor812.invoke(Unknown Source)at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   在java.lang.reflect.Method.invoke(Method.java:597)at   org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)   在   org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)   在   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)   在   org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)   在   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   在   org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   在$ Proxy220.authenticate(未知来源)at   org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter.processType3(BaseNTLMAuthenticationFilter.java:536)   在   org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter.authenticateRequest(BaseNTLMAuthenticationFilter.java:291)   在   org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter.doFilter(BaseSSOAuthenticationFilter.java:134)   at sun.reflect.GeneratedMethodAccessor543.invoke(Unknown Source)at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   在java.lang.reflect.Method.invoke(Method.java:597)at   org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory $ 1.invoke(ChainingSubsystemProxyFactory.java:103)   在   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   在   org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   在$ Proxy229.doFilter(未知来源)at   org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)   在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.alfresco.web.app.servlet.WebScriptSSOAuthenticationFilter.doFilter(WebScriptSSOAuthenticationFilter.java:128)   at sun.reflect.GeneratedMethodAccessor543.invoke(Unknown Source)at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   在java.lang.reflect.Method.invoke(Method.java:597)at   org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory $ 1.invoke(ChainingSubsystemProxyFactory.java:103)   在   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)   在   org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)   在$ Proxy229.doFilter(未知来源)at   org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)   在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)   在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)   在   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)   在   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   在   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   在   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   在   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)   在   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)   在   org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:588)   在   org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)   在java.lang.Thread.run(Thread.java:662)引起:   java.net.SocketException:Socket关闭了   java.net.SocketInputStream.read(SocketInputStream.java:162)at   java.io.DataInputStream.read(DataInputStream.java:132)at   org.alfresco.jlan.netbios.NetBIOSSession.Receive(NetBIOSSession.java:1836)   在   org.alfresco.jlan.server.auth.passthru.SMBPacket.ExchangeSMB(SMBPacket.java:286)   在   org.alfresco.jlan.server.auth.passthru.AuthenticateSession.doSessionSetup(AuthenticateSession.java:1158)   在   org.alfresco.jlan.server.auth.passthru.AuthenticateSession.doSessionSetup(AuthenticateSession.java:992)   在   org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl.authenticatePassthru(NTLMAuthenticationComponentImpl.java:834)   ......还有48个

1 个答案:

答案 0 :(得分:1)

您没有提到您使用哪种类型的域控制器进行身份验证以及您的网络架构是什么,但基于堆栈跟踪,看起来连接意外关闭。

这可能表明网络或DC存在问题,但您需要查看通过线路传输的流量,以确切了解发生的情况。

最后,您可能还需要查看DC的日志,看看它是否报告了其结尾的任何问题。