j'ai réussi la casification d'alfresco mais ca genere...

cancel
Showing results for 
Search instead for 
Did you mean: 
tegyat
Member II

j'ai réussi la casification d'alfresco mais ca genere...

Bonjour,
j'ai réussi la casification d'alfresco mais ca genere des problemes au niveau cifs

11:28:14,437 ERROR [smb.protocol.auth] No valid CIFS authentication combination
available
11:28:14,453 ERROR [smb.protocol.auth] Either enable Kerberos support or use an
authentication component that supports MD4 hashed passwords
11:28:14,453 ERROR [alfresco.smb.protocol] CIFS server configuration error, Inva
lid CIFS authenticator configuration
org.alfresco.error.AlfrescoRuntimeException: Invalid CIFS authenticator configur
ation
        at org.alfresco.filesys.server.auth.EnterpriseCifsAuthenticator.initiali
ze(EnterpriseCifsAuthenticator.java:348)
        at org.alfresco.filesys.server.config.ServerConfiguration.setAuthenticat
or(ServerConfiguration.java:3310)
        at org.alfresco.filesys.server.config.ServerConfiguration.processSecurit
yConfig(ServerConfiguration.java:2310)
        at org.alfresco.filesys.server.config.ServerConfiguration.init(ServerCon
figuration.java:634)
        at org.alfresco.filesys.server.config.ServerConfiguration.onBootstrap(Se
rverConfiguration.java:4007)
        at org.alfresco.util.AbstractLifecycleBean.onApplicationEvent(AbstractLi
fecycleBean.java:62)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.m
ulticastEvent(SimpleApplicationEventMulticaster.java:45)
        at org.springframework.context.support.AbstractApplicationContext.publis
hEvent(AbstractApplicationContext.java:225)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:323)
        at org.springframework.web.context.support.AbstractRefreshableWebApplica
tionContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
        at org.springframework.web.context.ContextLoader.createWebApplicationCon
text(ContextLoader.java:246)
        at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:184)
        at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:3729)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
187)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:759)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73
9)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:904)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:867)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:310)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:4
50)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:709
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
5 Replies
tegyat
Member II

Re: j'ai réussi la casification d'alfresco mais ca genere...

Bonjour,
avez vous une idée?
merci
michaelh
Active Member

Re: j'ai réussi la casification d'alfresco mais ca genere...

Oui, on a une idée Smiley Happy
Pour résumer, les formats des mots de passe fournis et attendus par LDAP et CIFS ne sont pas compatible … (et les rendre compatible ce serait casser le respect à l'une des normes)
Voir http://wiki.alfresco.com/wiki/CIFS_Server_Authentication

C'est d'ailleurs marqué :
No valid CIFS authentication combination available
Either enable Kerberos support or use an authentication component that supports MD4 hashed passwords
Il faut donc mettre en place un "traducteur" ( Passthru Authenticator ) entre Alfresco et la source de l'authentification :
- En environnement MS/Unix, passer par un serveur Kerberos
- en environnement Unix, mettre en place un serveur Samba authentifié sur le LDAP, et lui même contrôleur de domaine pour Alfresco

La seconde méthode est de loin la plus rapide si on a un serveur Linux qui traine (en tout cas je ne connais pas beaucoup de monde qui soit à l'aise avec Kerberos)
alexist
Member II

Re: j'ai réussi la casification d'alfresco mais ca genere...

- en environnement Unix, mettre en place un serveur Samba authentifié sur le LDAP, et lui même contrôleur de domaine pour Alfresco
Dans ce cas, est-ce qu'il faut monter un ldap pour samba, ou bien on peut utiliser notre ldap existant ?
michaelh
Active Member

Re: j'ai réussi la casification d'alfresco mais ca genere...

On peu utiliser un LDAP existant tant que Samba est capable d'authentifier les utilisateurs dessus.

Si notre ami Laurent passe par ici, nul doute qu'il ajoutera quelques commentaires à ce sujet (même pas c'est un appel du pied).
lme
Partner

Re: j'ai réussi la casification d'alfresco mais ca genere...

Présent ! Smiley Wink

Samba demande quand même pas mal de modification par rapport à un annuaire "standard". Il ajoute ses propres schémas et toute une tripoté d'attributs qui ne nous sont pas forcement utiles … sachant que le seul point bloquant est le mot de passe. Honnêtement, si tu as déjà un annuaire qui fonctionne, je ne te conseille pas de le modifier. Sinon, attends toi à passer quelques jours pour faire fonctionner samba.
Comme je l'ai dit plus haut, le point noir c'est le mot de passe. Il faut réussir à synchroniser le mot de passe normal (userPassword) et les mots de passe de samba (oui, LES mots de passe car il les stocke sous plusieurs formats : sambaLMPassword et sambaNTPassword). Du coup, on est un peu obligé de passer par samba pour modifier ces 3 champs … à moins que quelqu'un connaisse une autre méthode ?

Tu peux également garder le stockage de base de samba (pas dans un annuaire), il te suffit juste d'avoir les mêmes noms d'utilisateurs et les mêmes mots de passe. Pour les noms d'utilisateurs, pas de problème particulier … un script qui parcourt ton annuaire et ajoute/supprime des utilisateur samba ça doit pouvoir se faire assez rapidement. Le problème est toujours la synchro des mots de passe, là il faudra obligatoirement prévoir un mécanisme qui appellera smbpasswd sur le serveur samba lors de la mise à jour d'un mot de passe dans l'annuaire.

Bref, pas de solution miracle…

Je te conseille de t'installer un samba+ldap dans un environnement de dev et de voir ce que cela implique de changer sur ton annuaire de prod. Après, à toi de voir vers quelle solution tu t'orienteras.