[Koha] LDAP authentication problem with Koha 2.2.9
mourik jan c heupink
heupink at merit.unu.edu
Thu Oct 4 01:40:07 NZST 2007
Hi all,
Ok, below is my understanding of what is happening here. I have written
some emails about this (koha/ldap) to the koha list, but never received
a reply. :-(
Please do correct me if I'm wrong...
I think this is what is going on: koha uses a strange way to check the
password. Note: I'm running an older koha version (2.2.6), so things
might have changed since then..?
The NORMAL way to verify a password is to try to authenticate to the
ldap server using the username/password combination the user typed. If
the connection works, the combination is correct. If the connection
fails, the password of username is wrong.
Koha tries to actually compare the two passwords itself, and this will
not always work. (due to password encryption, or access control lists
that prevent the password to be given out on the ldapserver)
Personally I find it a strange and unsafe way to check for a correct
password.
Anyway, below is my Auth.pm, that tries to bind to the ldap server with
the username/password the user gave us, and then reports success or
failure. Note: I'm running 2.2.6!
##################################################
### LOCAL
### Change the code below to match your own LDAP server.
##################################################
# LDAP connection parameters
# LDAP server
my $ldapserver = 'x.x.x.x';
# Base DN for users
my $name = "ou=users,dc=blah,dc=blah";
# Bind uses the users full DN, if uid doesn't work try "cn"
my $binddn = "uid=$userid,$name";
my $db = Net::LDAP->new( $ldapserver );
# do bind
my $res =$db->bind(
dn =>$binddn,
password =>$password);
# check result, any other result than LDAP_SUCCESS (0)
# is a problem
if($res->code != 0 ) {
# auth refused
warn "Auth failed. LDAP server not responding or
invalid credentials provided";
Maybe this helps?
Regards,
Mourik Jan
Guillaume Hatt wrote:
> Hi everyone,
> I have Koha working (2.2.9), and I try to connect the readers who are
> stored in our LDAP.
> The connection to LDAP server is OK, Koha can find the reader login, but
> authentication fails.
>
> In my log, I can see :
> LDAP Auth impossible : wrong password at
> /usr/local/koha/intranet/modules/C4/Auth.pm line 533, <DATA> line 430.
>
> I use Auth_LDAP.pm renamed as Auth.pm, and I think the problem is there
> (line 527) :
> my $userldapentry=$userdnsearch -> shift_entry;
> my $cmpmesg = $db -> compare ( $userldapentry, attr => 'userPassword',
> value => $password ); ## HACK LMK
> ## ligne originale
> #if( $cmpmesg -> code != 6 ) {
> if( ( $cmpmesg -> code != 6 ) && ! ( $password eq "kivabien"
> ) ) {
> warn "LDAP Auth impossible : wrong password";
> return 0;
> };
>
> In our LDAP, the password is in the field userPassword but is crypted. I
> think I must replace "kivabien" with something, but I don't know what...
>
> Has anybody an idea ? Is there an exemple on other site with Koha ?
>
> Thanks.
> G. Hatt
>
>
> _______________________________________________
> Koha mailing list
> Koha at lists.katipo.co.nz
> http://lists.katipo.co.nz/mailman/listinfo/koha
More information about the Koha
mailing list