Schrift
[thread]10917[/thread]

Ldap Login erzwingen...

Leser: 2


<< >> 2 Einträge, 1 Seite
fabi65
 2007-11-29 10:36
#103243 #103243
User since
2007-11-29
1 Artikel
BenutzerIn
[default_avatar]
Hallo,

eigendlich progge ich mit php, muss jetzt aber ein Script schreiben, das prüft, ob ein Benutzername und ein Passwort mit dem im Ldap übereinstimmen. Das Problem ist, das man sich auf der LDAP Server auch Anonym anmelden kann. Aufjeden fall bekomme ich mit dem folgendem Script immer die Daten abgerufen! Wie kann ich jetzt machen, das er mir eine meldung gibt, wenn das PW falsch ist? Und er sich dann auch nicht einfach Anonym anmeldet....


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/local/bin/perl -w

use Net::LDAP ;

local $Base = "" ;
local $Filter = "mail=user@domain.de" ;
#Zugangsdaten
my $account = 'mail=blub@ichdarf.de';
my $pwd = 'falschespwd';
###Verbinden
my $ldap = Net::LDAP->new('ldapserver.blabla.de' ) or die "$@";
my $mesg = $ldap->bind( $account,
password => $pwd
);
###Ldap abfrage
$mesg = $ldap->search (
                        base => $Base,
                        filter => $Filter
                      );
$mesg->code && die $mesg->error ;

if ( $mesg->count == 0 ) {

}
foreach $entry ( $mesg->all_entries )
{

 $entry->dump;

}
$ldap->unbind ;
Strat
 2007-12-03 16:33
#103401 #103401
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
indem du $mesg direkt nach dem bind-Versuch auswertest.

Nebenbei: bei einem Bind muss der erste Parameter der distinguished name des Benutzers sein; eine e-Mail-Adresse tut's nicht.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 2 Einträge, 1 Seite



View all threads created 2007-11-29 10:36.