Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

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

Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Hallo in die Runde,
als Neuling versuche ich gerade die Anmeldung in Share und dem Explorer auf unsere AD-Nutzer umzulegen, d.h. diese sollen sich mit IHren AD-Logins anmelden.
Version 3.3.CE

In der alfresco-global.properties habe ich folgende Zeilen eingefügt:

#
# The default authentication chain
# To configure external authentication subsystems see:
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
#————-
#authentication.chain=alfrescoNtlm1:alfrescoNtlm
[color=#FF0000]ldap.synchronization.groupSearchBase=cn\=users,dc=xxx-yyyy.de,dc=com
ldap.synchronization.userSearchBase=cn\=users,dc=xxx-yyyy.de,dc=com[/color]

Danach habe ich den Tomcat etc. neugestartet und versuch mit über Share und Explorer anzumelden. Explorer hat keine Fehlermeldung gebracht.
Share hat mir gesagt: "Der Remote Server ist eventuell nicht erreichbar, oder Ihre Anmeldedaten wurden nicht erkannt."

Habe ich etwas übersehen und war auf einem Auge blind?

Grüße
Thomas


Der Remote Server ist eventuell nicht erreichbar, oder Ihre Anmeldedaten wurden nicht erkannt.
21 Replies
afaust
Master

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Hallo,

die Meldung von Share ist leider in allen Fehlerfällen die gleiche, also auch, wenn der Remote Server (also das Repository) erreichbar ist und nur selber einen Fehler geworfen hat.

Was mir auffällt ist, dass die Konfiguration kein Eintrag zur Anmeldung über LDAP enthält. Die Zeile mit authenticationChain ist auskommentiert und referenziert noch die Standardkomponente alfrescoNtlm. Hier sollte ein Eintrag wie ldap-ad1:ldap-ad zu finden sein. So wie Alfresco aktuell eingestellt ist, geht es ganz normal gegen die lokalen Benutzerdatenbank von Alfresco.

Im Wiki sollte jedes Detail zu diesem Thema zu finden sein: http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
th_heide
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

afaust
Master

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Okay, aber genau die erste Einstellung fehlt in deiner Konfiguration.

authentication.chain=passthru1:passthru,ldap1:ldap
Damit wird Alfresco gesagt, er solle zuerst per NTLM am Domaincontroller versuchen den Nutzer anzumelden und dann, sofern die LDAP Konfiguration es unterstützt, am LDAP Server.

In dem Blogeintrag ist LDAP Authentication deaktiviert und ldap1:ldap steht nur deshalb in der Chain, damit die Nutzerdaten synchronisiert werden. Der Poster nutzt ausschließlich NTLM Anmeldung am Domaincontroller über die passthru Komponente. DIese ist in deiner Konfiguration nirgends konfiguriert.

Hinweis: Seit Alfresco 3.2 Enterprise und 3.3 Community ist es abzuraten, Einstellungen für die Subsysteme (also alle Properties, die z.B. mit "ldap." oder "passthru." beginnen) in der alfresco-global.properties vorzunehmen. Es funktioniert zwar in den einfachen Fällen, kann aber bei komplexen Konfiguration zu Seiteneffekten führen.

Ich rate dir vorerst, dass du deine Einstellungen wirklich mit denen aus dem Blogeintrag abgleichst (sie sind in sich stimmig) und lediglich an den Punkten, wo der Poster Platzhalter für IP-Adressen, Ports und Admin Accountnamen gelassen hat, deine Werte einträgst.
th_heide
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Hallo AFaust,

danke für den Hinweis.
Sozusagen, wenn ich jetzt nicht auf beiden Augen blind bin, dann wäre dieser Code dann in die global-properities einzutragen, d.h. natürlich IP-Adresse, Domainname udn DomainAdminAccount noch zu ändern, oder irreich mich?

authentication.chain=passthru1:passthru,ldap1:ldap

passthru.authentication.sso.enabled=false
passthru.authentication.allowGuestLogin=false

ldap.synchronization.groupSearchBase=cn\=users,dc=xxx-yyyy.de,dc=com
ldap.synchronization.userSearchBase=cn\=users,dc=xxx-yyyy.de,dc=com

passthru.authentication.authenticateCIFS=false
passthru.authentication.authenticateFTP=false

passthru.authentication.servers=xxx.xxx.xxx.xxx.
passthru.authentication.domain=xxx-yyyy.de
passthru.authentication.useLocalServer=false
passthru.authentication.defaultAdministratorUserNames=NutzernameAdmin
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NETBIOS

ldap.authentication.active=false
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.userNameFormat=%s
ldap.authentication.allowGuestLogin=false
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://xxx.xxx.xxx.xxx:389
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false

ldap.synchronization.active=true
ldap.synchronization.java.naming.security.principal=xxx-yyy.de\\DomainAdminaccount
ldap.synchronization.java.naming.security.credentials=<administrator.privilege.account.password>
ldap.synchronization.queryBatchSize=1000
ldap.synchronization.groupDifferentialQuery=(&(objectclass=nogroup)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(userAccountControl\:1.2.840.113556.1.4.803\:\=512))
ldap.synchronization.personDifferentialQuery=(& (objectclass=user)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupQuery=(objectclass\=group)

ldap.synchronization.groupSearchBase=cn\=users,dc=xxx-yyy.de,dc=com
ldap.synchronization.userSearchBase=cn\=users,dc=xxx-yyy.de,dc=com


synchronization.synchronizeChangesOnly=true
cifs.enabled=false

Danke für die Hilfe.. :-)
Thomas
bnice_6017
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Hi th_heide,

befasse mich grad selber mit dem Thema (s.a. http://forums.alfresco.com/en/viewtopic.php?f=9&t=34735&p=100777#p100777.
Erste Stolperfalle dabei ist der Umgang mit den Subsystems unter 3.3, wenn man die Struktur dafür erstmal sauber umgesetzt hat, kann man sich mit der eigentlichen Fehlersuche befassen (wenn denn noch Fehler auftreten).

Ich habe dazu erstmal die Vorlagen von
/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/…

in die entsprechenden Ordner (müssen ab /subsystems/… noch angelegt werden) kopiert:

opt/Alfresco/shared/classes/extension/subsystems/Authentication/…
(/ldap-ad/ldap-ad1, /alfrescoNtlm/alfrescoNtlm1, /passthru/passthru1, …)

und anschließend angepasst. Bekomme momentan auch noch den Fehler bei der Anmeldung (Remoteserver nicht erreichbar…) und versuche jetzt die Logfiles auszuwerten…
bnice_6017
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Bin jetzt ein Stück weiter - die Subsystems laufen soweit, Fehler war vorher ein "File not found"

tail -f alfresco.log
ist immer hilfreich bei der Fehlersuche…

Caused by: java.io.FileNotFoundException: 
/opt/Alfresco/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap-ad1/../common-ldap-context.xml (No such file or directory)

Die Datei "common-ldap-context.xml" gehört in das Verzeichnis
opt/Alfresco/shared/classes/extension/subsystems/Authentication/ldap-ad
bzw
opt/Alfresco/shared/classes/extension/subsystems/Authentication/ldap
(bei nicht Windows-LDAP)

lag bei mir vorher unter
opt/Alfresco/shared/classes/extension/subsystems/Authentication/ldap-ad/ldap-ad1

Danach wird auch LDAP genutzt - in meinem Fall läuft es jetzt mit Share, allerdings nicht mit Alfresco Explorer - Hintergrund ist, dass dieser nicht NTLMv2 unterstützt:

16:24:13,865 DEBUG [org.alfresco.web.app.servlet.NTLMAuthenticationFilter] Received type3 [Type3:,LM:000000000000000000000000000000000000000000000000,
NTLM:35fb5be1dba846ea300a95190c2ff33d0101000000000000af8ab392e154cb01578d66ff7ea7475a000000000200060061006c0066000000000000000000,
Dom:,User:blabla@meinedomain.lokal,Wks:Workstationname]
16:24:13,866 ERROR [org.alfresco.web.app.servlet.NTLMAuthenticationFilter] Client Workstationname using NTLMv2 logon, not valid with passthru authentication

Hilft vermutlich nur, das ganze mittels Kerberos durchzuführen (korrigiert mich bitte, wenn ich falsch liege)…

Bei der Kerberos-Konfig werde ich mich an diese http://www.anotherstrangerme.com/afresco-integration-with-active-directory-using-kerberos/ Anleitung halten.
bnice_6017
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

UPDATE

Läuft jetzt!  Smiley Very Happy

Nutze nur noch authentication chain

authentication.chain=kerberos1:kerberos,ldap-ad1:ldap-ad

und hab alles weitere in den Config-Dateien for das authentication subsystem eingerichtet.

UPDATE

Jetzt auch mit SSO über Kerberos :-)
afaust
Master

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

Hallo,

@th_heide: Deine Konfiguration ist soweit vollständig und korrekt (sofern die Platzhalter mit den Werten deiner Umgebung ausgetauscht werden). Die Angaben zu user und groupSearchBase sind jedoch doppelt, was aber nur den persönlichen Wartungsaufwand beeinflusst. Für FTP fehlt noch die Einstellung, dass FTP selber disabled ist - praktisch ist es jetzt noch an, kann aber wegen fehlendem Authenticator nicht genutzt werden (CIFS wurde ja explizit deaktiviert).

@bnice: Alfresco unterstützt NTLMv2, jedoch nicht mit der passthru Komponenten. Dies liegt daran, dass man mit NTLMv2 keinen Man-in-the-Middle Angriff, wie er bei passthru mit NTLMv1 durchgeführt wird, mehr fahren kann. Die Fehlermeldung mit dem unsupported NTLMv2 kommt meist daher, dass der Client (z.B. Win 7) so eingestellt ist, dass er bei NTLM Aufforderung nur noch mit der sicheren Version NTLMv2 antwortet. Dies ließe sich in den individualen Fällen ändern, wenn die IT Sicherheitsrichtlinien (des Konzerns / der Organisation) dies zulassen.

Zu den Subsystemen: Es ist nicht notwendig, die XML Dateien in /opt/Alfresco/tomcat/shared/classes… zu duplizieren - die Anlage der .properties z.B. in ../Authentication/ldap-ad/ldap-ad1 (für das Subsystem ldap-ad1:ldap-ad) mit den gewünschten Einstellungsoverrides (d.h. der Diff zu den Alfresco Standardwerten) ist ausreichend. Dies macht die ganze Sache etwas übersichtlicher, wenn jemand anderes kommt und wissen will, was denn in der Konfiguration angepasst wurde.

Zu Kerberos / SPNEGO: Dies ist in meinen Augen die zu bevorzugende Authentifizierungsvariante - sofern man es aufgesetzt bekommt. Es ist leider nicht so straight-forward, wie die anderen Varianten und kann in bestimmten Umgebungen ein paar üble Überraschungen mit sich bringen (z.B. zu großer SPNEGO Token [abhängig von Windows AD Gruppenzugehörigkeiten] => WebServer lehnt HTTP Anfrage wegen zu großem Header-Field ab).

@bnice: Läuft SSO bei dir auch mit Share, und wenn ja, mit welchem Principal? Dazu steht in der verlinkten Anleitung schließlich nichts drin, und ich kann mich an den Aufwand erinnern, den ich betreiben musste, um es bei einer 3.2.0 Installation eines Kunden umzusetzen.
bnice_6017
Member II

Re: Alfresco Explorer/Share Login mit AD-Nutzern nicht möglich

@hfaust:

Share läuft aktuell noch nicht mit SSO, hab ich grad nochmal getestet, allerdings ist Share für mich momentan auch noch nicht ausschlaggebend.
Auth. über Kerberos läuft aber auch mit Share soweit.
Momentan arbeite ich noch etwas an der LDAP-Konfiguration, hier klappt die Sync mit dem AD leider noch nicht.