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

Paul POULAIN tipaul at users.sourceforge.net
Thu Sep 2 18:25:23 CEST 2004


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')) {





More information about the Koha-cvs mailing list