Authentification passthru automatique

cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Former Member

Authentification passthru automatique

Bonjour,

J'ai installé la dernière version d'Alfresco community sur un Windows Server 2008R2 SP1 64bit. Mon active directory est également sur un Windows server 2008R2.

J'ai configuré le mode d'authentification passthru comme suit:

passthru-authentication-context.properties:

passthru.authentication.useLocalServer=false
passthru.authentication.domain=
passthru.authentication.servers=172.16.0.36
passthru.authentication.guestAccess=true
passthru.authentication.defaultAdministratorUserNames=TestAdmin
#Timeout value when opening a session to an authentication server, in millisecondspassthru.authentication.connectTimeout=5000
#Offline server check interval in seconds
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NetBIOS
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=true


J'ai ensuite modifier le fichier alfresco-global.properties:

passthru.authentication.servers=172.16.0.36
authentication.chain=passthru1:passthru,alfrescoNtlm1:alfrescoNtlm
ntlm.authentication.sso.enabled=true
passthru.authentication.authenticateCIFS=true


J'ai configuré dans internet explorer le site comme étant un site intranet de confiance et mis la connexion automatique du site avec les identifiants de l'utilisateur.
Comme cela mes utilisateurs n'ont rien à rentrer au niveau de la connexion.

Mais j'obtiens cette erreur :

net.sf.acegisecurity.AuthenticationServiceException: Failed to open passthru auth session
at org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl.authenticatePassthru(NTLMAuthenticationComponentImpl.java:783)
at org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl.authenticate(NTLMAuthenticationComponentImpl.java:554)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy222.authenticate(Unknown Source)
at org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter.processType1(BaseNTLMAuthenticationFilter.java:377)
at org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter.authenticateRequest(BaseNTLMAuthenticationFilter.java:283)
at org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter.doFilter(BaseSSOAuthenticationFilter.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactoryinvoke(ChainingSubsystemProxyFactory.java:103)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy247.doFilter(Unknown Source)
at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)


J'ai ensuite désactiver le login automatique dans I.E, j'ai une pop-up de connexion Windows, je rentre mes identifiants cela ne fonctionne pas et au bout de trois essaies j'ai une page de login Alfresco, je rentre les identifiants de n'importe qu'elle utilisateur créé dans mon AD et là la connexion fonctionne…

Donc l'identification via des utilisateurs du domaine fonctionne par contre la connexion auto non.

Merci d'avance pour votre aide !
1 Reply
rguinot
Customer

Re: Authentification passthru automatique

Quelle version d'IE est utilisée ?

dans passthru.authentication.servers, il est recommandé de mettre domain\\hostname,hostname.  Cela dépend de votre infrastructure réseau… le client utilisera peut être l'une ou l'autre des formes.
Je désactiverais peut être aussi :

ntlm.authentication.sso.enabled=true <= concerne l'authentification des utilisateurs "internes", pas ceux de l'AD

passthru.authentication.authenticateCIFS=true <= ds ce cas seuls les utilisateurs loggés sur l'AD pourront se connecter via CIFS, pas les users internes.


Sans + d'infos difficile de savoir exactement… la plomberie windows n'est pas des plus explicites