Thread Ideen zur LDAP user authentication (13 answers)
Opened by arieger at 2011-10-17 12:48

arieger
 2011-10-27 15:06
#153585 #153585
User since
2011-10-17
5 Artikel
BenutzerIn
[default_avatar]
hallo,

vielleicht kann mir ja doch noch jemand helfen.

ich habe folgendes script gefunden und bräuchte dort doch nochmal hilfe.

folgenden Code habe ich

Code: (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#! /usr/bin/perl

use strict;
use warnings;
use Net::LDAPS;
use Net::LDAP;


my $host = "w.x.y.z:389";
my $ldaps = 0;
my $adminDn = "CN=LDAPAUTHUSER, CN=Users, OU=company,DC=company,CN=de";
my $adminPwd = "adminpassword!";
my $searchBase = "CN=department,OU=company,DC=company,CN=de";


my $userdn = testGuid ("$myGUID", "$password");
if ($userdn)
{
print "$userdn checks out!\n";
}


sub getUserDn
{
my $ldap;
my $guid = shift;
my $dn;
my $entry;

if ($ldaps) {
$ldap = Net::LDAPS->new($host, verify=>'none') or die "$@";
}
else {
$ldap = Net::LDAP->new($host, verify=>'none') or die "$@";
}

my $mesg = $ldap->bind ($adminDn, password=>"$adminPwd");

$mesg->code && return undef;

$mesg = $ldap->search(base => $searchBase, filter => "uid=$guid" );

$mesg->code && return undef;
$entry = $mesg->shift_entry;

if ($entry)
{
$dn = $entry->dn;
$entry->dump;
}


$ldap->unbind;

return $dn;
}

sub testGuid
{
my $ldap;

my $guid = shift;
my $userPwd = shift;
my $userDn = getUserDn ($guid);

return undef unless $userDn;

if ($ldaps) {
$ldap = Net::LDAPS->new($host, verify=>'none') or die "$@";
}
else {
$ldap = Net::LDAP->new($host, verify=>'none') or die "$@";
}

my $mesg = $ldap->bind ($userDn, password=>"$userPwd");

if ($mesg->code)
{
# Bad Bind
print $mesg->error . "\n";
return undef;
}
$ldap->unbind;

return $userDn;
}


Leider bekomme ich keine Antwort von dem Script. es scheint durchzulaufen, aber die Ausgabe bleibt leer.

my $userdn = testGuid ("$myGUID", "$password");
wird über eine andere subroutine gefüllt. das klappt auch soweit

habt ihr eine Idee



mittlerweile konnte ich selber lösen.
Last edited: 2011-11-15 14:20:33 +0100 (CET)

View full thread Ideen zur LDAP user authentication