LDAP Authentifizierung

All about webserver configurations, PHP and databases.

Moderator: Thorsten

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 12, 2009 10:19 am

Hi,

schau mal in die inc/constants_ldap.php rein, da stimmt dein Mapping wohl nicht. Per default ist das für Active Directory auf Windows Server Büchsen angelegt...

Das dürfte das Problem sein.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Fr33z3m4n
Posts: 42
Joined: Fri Nov 06, 2009 10:36 am

Re: LDAP Authentifizierung

Post by Fr33z3m4n » Thu Nov 12, 2009 11:08 am

Code: Select all

$PMF_LDAP["ldap_base"] = 'ou=Benutzer,dc=domain,dc=de';
Das muss doch so sein oder ?
DN vom Benutzer wäre ja
uid=Jaskulski,OU=Benutzer,dc=domain,dc=de

$PMF_LDAP["ldap_user"] und Pass wären ja dann der Administrator vom LDAP, das scheint zu klappen, halt nur nicht die Benutzerauthentifizierung.

Code: Select all

$PMF_LDAP['ldap_mapping'] = array (
//    'name'     => 'cn',
    'username' => 'uid');
//    'mail'     => 'mail');
phpMyFAQ warning [2]: ldap_bind() [function.ldap-bind]: Unable to bind to server: Invalid DN syntax in Ldap.php on line 102

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 12, 2009 11:11 am

Hi,

ich glaube, deine DN ist falsch... les mal die Kommentare hier durch: http://de3.php.net/manual/en/function.ldap-bind.php

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Fr33z3m4n
Posts: 42
Joined: Fri Nov 06, 2009 10:36 am

Re: LDAP Authentifizierung

Post by Fr33z3m4n » Thu Nov 12, 2009 11:16 am

Joar, bin ja schon verzweifelt am suchen.
Wenn ich mir die Methode ldap_bind von phpmyfaq anschaue,.
Technischer User wird richtig gebindet, kein ding, nur sofern er den Benutzer binden soll, nimmt er als User nur den Benutzer, und nicht die komplette DN

Administrator:

Code: Select all

$ldapbind = ldap_bind($this->ds, $ldap_user, $ldap_password);
ergibt
Resource #xx: CN=Manager,DC=domain,DC=de : meinpass
Benutzerlogin:

Code: Select all

$ldapbind = ldap_bind($this->ds, $ldap_user, $ldap_password);
ergibt
Resource #xx: Jaskulski : meinpass
Meines erachtens fehlt doch dann die komplette BASE DN ?
uid=Jaskulski,OU=Benutz.......

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 12, 2009 11:31 am

Hi,

der bind passiert nicht mit dem User, sondern dem technischen User. Der Username selbst wird bei der Authentifizierung nur in LDAP gesucht und wenn gefunden mit seinen Daten zurückgegeben.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Fr33z3m4n
Posts: 42
Joined: Fri Nov 06, 2009 10:36 am

Re: LDAP Authentifizierung

Post by Fr33z3m4n » Thu Nov 12, 2009 11:35 am

gefunden wurde der User, das kann ich nachvollziehen, nur dann muss ja der User auch noch gebindet werden.
Wenn das nicht so sein sollte, dann ist dort aber ein Fehler, weil genau das macht er auch.
zuerst den Admin (technischen User) und danach will er den Benutzer binden, der sich versucht einzuloggen.
Konnte mit einem kleinem Trick schonmal die page dazu verhalfen, dass er mich einloggen lässt, nur gibs ejtzt ein kleines Problem, zwecks Benutzerdaten auslesen.

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 12, 2009 11:39 am

HI,

ah... richtig. Sorry. Der ganze LDAP Code ist nicht von mir...

Schau mal in die inc/PMF_Auth/AuthLdap.php rein, da passiert die LDAP Authentifizierung.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Fr33z3m4n
Posts: 42
Joined: Fri Nov 06, 2009 10:36 am

Re: LDAP Authentifizierung

Post by Fr33z3m4n » Thu Nov 12, 2009 11:43 am

Jojo, da bin ich die ganze Zeit schon unterwegs :D
inc/constants_ldap.php
inc/ldap.php
inc/dataldap.php
/inc/PMF_Auth/AuthLdap.php

Wie gesagt, einloggen geht nun schonmal, nur es hapert jetzt am auslesen der Persönlichen Informationen, CN und mail, damit phpmyfaq die Daten zwischenspeichern kann. Weil ich hab gemerkt, dass er bei weiteren Seitenaufrufen diese Daten garnicht mehr abfragt, wird das in deR session hinterlegt ?

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 12, 2009 11:54 am

Hi,
Fr33z3m4n wrote:Weil ich hab gemerkt, dass er bei weiteren Seitenaufrufen diese Daten garnicht mehr abfragt, wird das in deR session hinterlegt ?
jep, sonst wäre die Last auf den LDAP-Server ja ein wenig hoch...

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Fr33z3m4n
Posts: 42
Joined: Fri Nov 06, 2009 10:36 am

Re: LDAP Authentifizierung

Post by Fr33z3m4n » Thu Nov 12, 2009 11:59 am

jip ok, das stimmt.
Aber die LDAP Classes müssten mal überarbeitet werden.
Für Windows AD passen die vlt. das kann ich nciht beurteilen, aber für linux opanLDAP passt das leider alles garnicht.
Nachdem der Benutzer eingeloggt wurde, sowie gleichzeitig gebindet, wird dieser User erneut gesucht. Hier fällt die Class wieder auf die Klappe, somit kann er die Benutzerdaten nicht auslesen.
Ein Versuch während der ersten Suche die anderen einzubinden, schlug leider fehl.
Ich werde mal schauen, ob ich das irgendwie hinbekomme, jedoch kann ich halt nicht garantieren, wie es danach mit windows AD aussieht.

Cyberplanet
Posts: 18
Joined: Tue Nov 17, 2009 11:16 am

Re: LDAP Authentifizierung

Post by Cyberplanet » Tue Nov 17, 2009 3:55 pm

Bei mir war gar keine dataldap vorhanden.

Wie muss diese Datei denn genau aussehen.
Akteulle ist sie so

Code: Select all


$PMF_LDAP["ldap_server"] = 'domain.local';
$PMF_LDAP["ldap_port"] = '389';
$PMF_LDAP["ldap_user"] = 'CN=administrator,dc=domain,dc=local';
$PMF_LDAP["ldap_password"] = '.......';
$PMF_LDAP["ldap_base"] = 'dc=domain,dc=local';

/code]

da habe ich aber noch mehr fehler als sonst.

Fehler:

phpMyFAQ warning [2]: mssql_select_db() [function.mssql-select-db]: message: In 'sysdatabases' wurde kein Eintrag für die 'DB_MAYFAQ'-Datenbank gefunden. Es wurde kein Eintrag mit diesem Namen gefunden. Stellen Sie sicher, dass der Name richtig eingegeben wurde. (severity 16) in Mssql.php on line 71

phpMyFAQ warning [2]: mssql_select_db() [function.mssql-select-db]: Unable to select database: DB_MAYFAQ in Mssql.php on line 71
$PMF_LDAP["ldap_server"] = 'domäne.local'; $PMF_LDAP["ldap_port"] = '389'; $PMF_LDAP["ldap_user"] = 'CN=administrator,dc=domäne,dc=local'; $PMF_LDAP["ldap_password"] = '......'; $PMF_LDAP["ldap_base"] = 'dc=domäne,dc=local';

 
phpMyFAQ notice [8]: Use of undefined constant LDAP_OPT_PROTOCOL_VERSION - assumed 'LDAP_OPT_PROTOCOL_VERSION' in constants_ldap.php on line 37

phpMyFAQ notice [8]: Use of undefined constant LDAP_OPT_REFERRALS - assumed 'LDAP_OPT_REFERRALS' in constants_ldap.php on line 38


Die unteren 2 kamen erst nach erstellung der Datei kann mir einer Helfen das das richtig geht.

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Wed Nov 18, 2009 1:14 pm

Hi,

du hast mehrere Fehler. In der inc/dataldap.php fehlen die PHP Tags außen rum, die Datei muss so aussehen:

Code: Select all

<?php
$PMF_LDAP["ldap_server"] = 'domain.local';
$PMF_LDAP["ldap_port"] = '389';
$PMF_LDAP["ldap_user"] = 'CN=administrator,dc=domain,dc=local';
$PMF_LDAP["ldap_password"] = '.......';
$PMF_LDAP["ldap_base"] = 'dc=domain,dc=local';
?>
Darüberhinaus wird deine Datenbank im MS SQL Server nicht gefunden...

Ich würde dir empfehlen, phpMyFAQ noch mal ganz frisch zu installieren. Wenn du den Installer aufrufst, sollte dann auch alles sauber installiert und geschrieben werden.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Cyberplanet
Posts: 18
Joined: Tue Nov 17, 2009 11:16 am

Re: LDAP Authentifizierung

Post by Cyberplanet » Thu Nov 19, 2009 8:23 am

oki dake soweit aber ich habe den installer aufgerufen. Und er meldet auch keinen fehler bei der installation.

Die DB ist vorhanden und die Tabellen wurden erstellen, kann mir wer vielleicht nen sql export geben.

Thorsten
Posts: 14776
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP Authentifizierung

Post by Thorsten » Thu Nov 19, 2009 8:45 am

Hi,

welchen SQL Export meinst du?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist

Cyberplanet
Posts: 18
Joined: Tue Nov 17, 2009 11:16 am

Re: LDAP Authentifizierung

Post by Cyberplanet » Thu Nov 19, 2009 9:44 am

irgendeiner hat das ding ja komplett und der könnte mir ja nen export machen.

Post Reply