koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/C4 Auth.pm,1.34,1.35


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/C4 Auth.pm,1.34,1.35
Date: Thu, 02 Sep 2004 09:25:23 -0700

Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4916/C4

Modified Files:
        Auth.pm 
Log Message:
some fixes for LDAP (more to come)

Index: Auth.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Auth.pm,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -r1.34 -r1.35
*** Auth.pm     16 Jul 2004 21:15:26 -0000      1.34
--- Auth.pm     2 Sep 2004 16:25:20 -0000       1.35
***************
*** 360,366 ****
                my $ldapinfos = C4::Context->preferences('ldapinfos');
                my %bindargs;
!               my $nom  = "uid=$userid, $ldapinfos";
                my $db = Net::LDAP->new( $ldapserver );
!               $bindargs{dn}=$nom;
                $bindargs{password}=$password;
                my $res =$db->bind(%bindargs);
--- 360,366 ----
                my $ldapinfos = C4::Context->preferences('ldapinfos');
                my %bindargs;
!               my $name  = "uid=$userid, $ldapinfos";
                my $db = Net::LDAP->new( $ldapserver );
!               $bindargs{dn}=$name;
                $bindargs{password}=$password;
                my $res =$db->bind(%bindargs);
***************
*** 376,379 ****
--- 376,409 ----
                                #we have the cardnumber
                                return 1,$cardnumber;
+                       } else {
+                               # retrieve the LDAP informations & create the 
user
+                               my $borrower = $db->search(base => %bindargs,
+                                                       filter => 
"(sn=$userid)",
+                                                       );
+                                my $href = $borrower->as_struct;
+                               # get an array of the DN names
+                               my @arrayOfDNs  = keys %$href;        # use DN 
hashes
+                               # process each DN using it as a key
+                               my %borrower;
+                               foreach ( @arrayOfDNs ) {
+                                       print $_, "\n";
+                                       my $valref = $$href{$_};
+                                       # get an array of the attribute names
+                                       # passed for this one DN.
+                                       my @arrayOfAttrs = sort keys %$valref; 
#use Attr hashes
+                                       my $attrName;        
+                                       foreach $attrName (@arrayOfAttrs) {
+                                               # skip any binary data: yuck!
+                                               next if ( $attrName =~ 
/;binary$/ );
+                                               # get the attribute value 
(pointer) using the
+                                               # attribute name as the hash
+                                               my $attrVal =  
@$valref{$attrName};
+                                               print "\t $attrName: @$attrVal 
\n";
+                                               $borrower{$attrName}= @$attrVal;
+                                       }
+                               }
+                               # create the user in Koha DB
+                               newmember(%borrower);
+                               
                        }
                        if ($userid eq C4::Context->config('user') && $password 
eq C4::Context->config('pass')) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]