LDAP+Mantis: LDAP_GET_ENTRIES + LDAP_SEARCH ERROR

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey all,

Ik heb een vraag.
Ik heb een webserver draaien:
PHP: v5.2.17
MYSQL: V5.5
Apache: v2.2.19

Ik heb hierop Mantis draaien, V.1.2.6
Ik heb hierop een bestaande mantis database geimporteerd zonder problemen. Hierna heb ik LDAP geconfigureerd. LDAP werkt, echter krijg ik af en toe foutmeldingen.
Als ik inlog met gebruikersnaam@domein.nl krijg ik de volgende foutmeldingen:

SYSTEM WARNING: ldap_search(): 142 is not a valid ldap link resource

SYSTEM WARNING: ldap_get_entries(): 142 is not a valid ldap link resource

Deze krijg ik ook als ik een x aantal minuten niks in mantis heb gedaan, waarschijnlijk is de secure session timed out, en je moet opnieuw aanmelden. Als ik dit doe(met of zonder @ domain.nl) dan krijg ik deze foutmeldingen weer.
Het zijn alleen waarschuwingen, ik kan gewoon verder werken.

Om nog wat extra info te geven:
Mijn LDAP config bestaat hier uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
    # Mantis LDAP Settings
    #############################
    # look in README.LDAP for details
    # --- using openldap -------------
    $g_ldap_server           = 'LDAP://DC01';
    $g_ldap_port             = '389'; 
    $g_ldap_root_dn          = 'OU=Systeembeheer,DC=domein,DC=nl';
        $g_ldap_root_dn2         = 'OU=Management,DC=domein,DC=nl';
    $g_ldap_uid_field        = 'sAMAccountName'; # Use 'sAMAccountName' for Active Directory
    $g_ldap_bind_dn          = 'CN=LDAPuser,CN=Users,DC=domain,DC=nl'; 
    $g_ldap_bind_passwd      = 'PASSWORD'; 
    $g_use_ldap_email        = off; 
    $g_ldap_protocol_version = 3;


Zoals ik al zei, dit werkt prima. Nu heb ik specifiek 2 OU's aangegeven die mogen inloggen met behulp van LDAP. Ik heb dus een 2e ldap_root_dn gespecificeerd. Ook dit werkt prima, buiten die waarschuwing.
De code om meerdere OU's toe te laten, waar volgens mij ergens een fout in zit, ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(!$t_authenticated->status_ok){
                $t_ldap_root_dn         = config_get( 'ldap_root_dn2' );
                # Search for the user id
                $t_sr   = ldap_search( $t_ds, $t_ldap_root_dn, $t_search_filter, $t_search_attrs );
                $t_info = ldap_get_entries( $t_ds, $t_sr );

                $t_authenticated->status_ok = false;
        $t_authenticated->status_code = ERROR_LDAP_AUTH_FAILED;


                if ( $t_info ) {
                        # Try to authenticate to each until we get a match
                        for ( $i = 0 ; $i < $t_info['count'] ; $i++ ) {
                                $t_dn = $t_info[$i]['dn'];

                                # Attempt to bind with the DN and password
                                if ( @ldap_bind( $t_ds, $t_dn, $p_password ) ) {
                                        $t_authenticated->status_ok = true;
                                        break; # Don't need to go any further
                                }
                        }
                }
        }


Zoals ik al zei, de waarschuwing:

SYSTEM WARNING: ldap_search(): 142 is not a valid ldap link resource

SYSTEM WARNING: ldap_get_entries(): 142 is not a valid ldap link resource

komt dus op 2 momenten:
1. Bij inloggen als gebruik wordt gemaakt van: username@domain.nl(niet bij alleen username)
2. Als een secure session timed out is, en er opnieuw ingelogd moet worden.

Ik heb al een morgen zitten googlen, maar ik word er niet wijzer mee.

Ik hoop dat iemand hier een oplossing voor heeft?

Mvg