Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    LDAP Success ist ein fehler –> im LDAP-Modul

    Scheduled Pinned Locked Moved Entwicklung
    4 Posts 2 Posters 1.7k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      datenwerk-it
      last edited by

      Hallo liebe Entwickler,

      hier steht ja mein letzter Post zum thema LDAP. Ich habe ein wenig geforscht und bleibe hier hängen:
      in /src/classes/components/isys_component_session.class.php Zeile 240:

      if ($l_found_user["dn"] && $l_ldap_library->try_auth($l_found_user["dn"], $p_password)) {
      

      Diese Abfrage liefert einen fehler zurück.
      Die abschließende Debug-Meldung liefert den 'Fehlerwert' 'Success' zurück ???

      } else $g_mod_ldap->debug("** Auth failed. " . $l_ldap_library->get_ldap_error());
      

      Die Methode 'try_auth' in ldapi_acc.class.php

      	public function try_auth($p_username, $p_password) {
       		if (strpos($p_username, "CN=") !== 0) {
      			$l_username = $this->get_dn_by_username($p_username);
       		} else $l_username = $p_username;
      
       		if (!empty($l_username)) {
      			return $this->bind($l_username, $p_password);
       		}
       	}
      

      würde ich gerne einmal mit debug-code versehen. könnt ihr mir dabei helfen?

      PS: ist dieses "CN=" dafür verantwortlich, dass die Abfrage fälschlicherweise 'conn=3898 op=2 SRCH base="ou=Users,dc=ebox" scope=1 deref=0 filter="(cn=uid=USER1,ou=users,dc=ebox)"' heißt?
      –> cn=uid=???

      1 Reply Last reply Reply Quote 0
      • dsD Offline
        ds
        last edited by

        Das Problem mit dem Success ist hier, dass dort die letzte Meldung des LDAP-Connectors ausgegeben wird (get_ldap_error()). Und die letzte Meldung die er dort hat ist scheinbar der Connect. Und die Verbindung ist ok (Success).

        Um die try_auth mit debug meldungen zu versehen kannst du folgendes versuchen:

        in die erste Zeile (vor das if):

        global $g_mod_ldap;
        $g_mod_ldap->debug("IN try_auth(): Username. " . var_export($p_username, true) . " - Password: " . var_export($p_password, true));

        Es ist Möglich, dass der username an der stelle leer ist, das möchte ich mit der Debug Meldung gerne herausbekommen.
        Das mit dem CN= greift nur, wenn der Funktion ein einfacher Username übergeben wurde. Hier sollte aber eigentlich eine komplette DN übergeben werden

        1 Reply Last reply Reply Quote 0
        • D Offline
          datenwerk-it
          last edited by

          LDAP-debug output

          
          2009-05-05 11:48:43 ldap: Creating new ldap-library connection to: adm001:389, user: CN=admin,DC=ebox
          2009-05-05 11:48:43 ldap: Connected to adm001
          2009-05-05 11:48:43 ldap: Trying auth with DN: uid=testuser,ou=Users,dc=ebox
          2009-05-05 11:48:43 ldap: IN try_auth(): Username. 'uid=testuser,ou=Users,dc=ebox' - Password: 'tester'
          2009-05-05 11:48:43 ldap: uid=testuser,ou=Users,dc=ebox / testuser authenticated.
          2009-05-05 11:48:43 ldap: Creating new ldap-library connection to: adm001:389, user: CN=admin,DC=ebox
          2009-05-05 11:48:43 ldap: Connected to adm001
          2009-05-05 11:48:43 ldap: Trying auth with DN: uid=testuser,ou=Users,dc=ebox
          2009-05-05 11:48:43 ldap: IN try_auth(): Username. 'uid=testuser,ou=Users,dc=ebox' - Password: 'tester'
          2009-05-05 11:48:43 ldap: uid=testuser,ou=Users,dc=ebox / testuser authenticated.
          
          

          syslog-output

          
          May  5 11:48:43 adm001 slapd[24683]: conn=723 fd=22 ACCEPT from IP=127.0.1.1:44828 (IP=0.0.0.0:389)
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=0 BIND dn="cn=admin,dc=ebox" method=128
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=0 BIND dn="cn=admin,dc=ebox" mech=SIMPLE ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=0 RESULT tag=97 err=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=1 SRCH base="" scope=1 deref=0 filter="(cn=uid=testuser,ou=users,dc=ebox)"
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=1 SRCH attr=cn
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=2 BIND anonymous mech=implicit ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=2 BIND dn="uid=testuser,ou=Users,dc=ebox" method=128
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=2 BIND dn="uid=testuser,ou=Users,dc=ebox" mech=SIMPLE ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=2 RESULT tag=97 err=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=723 op=3 UNBIND
          May  5 11:48:43 adm001 slapd[24683]: conn=723 fd=22 closed
          May  5 11:48:43 adm001 slapd[24683]: conn=724 fd=22 ACCEPT from IP=127.0.1.1:44829 (IP=0.0.0.0:389)
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=0 BIND dn="cn=admin,dc=ebox" method=128
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=0 BIND dn="cn=admin,dc=ebox" mech=SIMPLE ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=0 RESULT tag=97 err=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=1 SRCH base="" scope=1 deref=0 filter="(cn=uid=testuser,ou=users,dc=ebox)"
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=1 SRCH attr=cn
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=2 BIND anonymous mech=implicit ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=2 BIND dn="uid=testuser,ou=Users,dc=ebox" method=128
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=2 BIND dn="uid=testuser,ou=Users,dc=ebox" mech=SIMPLE ssf=0
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=2 RESULT tag=97 err=0 text=
          May  5 11:48:43 adm001 slapd[24683]: conn=724 op=3 UNBIND
          May  5 11:48:43 adm001 slapd[24683]: conn=724 fd=22 closed
          
          

          Was mich wundert, ist, dass idoit nicht durch die Gruppen im LDAP iteriert um herauszubekommen, ob der User in der LDAP-ADMIN-Gruppe ist, bzw welche Rechte gemappt werden müssen.

          Aktuelles Mapping:

          
          Username:  	cn
          Groups: 	cn
          Firstname: 	cn
          Lastname: 	sn
          Mail address: 	Mail
          Object class: 	posixAccount
          
          

          Admin (idoit) –> Administrators (LDAP)

          Group Administrators in LDAP:

          
          cn		:Administrators
          displayName	:Administrators
          gidNumber	:4711
          memberUid	: USER1
          		: testuser
          		: USER(n)
          
          1 Reply Last reply Reply Quote 0
          • dsD Offline
            ds
            last edited by

            Die Authentifikation klappt ja nun. Das Groups mapping ist im moment nur falsch.
            Wird in deiner openLDAP installation die Gruppenzugehoerigkeit nicht noch zusätzlich im User abgelegt (zB im Attribut memberof)?

            1 Reply Last reply Reply Quote 0
            • First post
              Last post