RegisterDB LDAP is complete (#26)
This commit is contained in:
parent
a0c7f5f939
commit
524fab0b3a
@ -19,7 +19,12 @@ sub computeLogin {
|
|||||||
substr( lc $self->{registerInfo}->{firstname}, 0, 1 )
|
substr( lc $self->{registerInfo}->{firstname}, 0, 1 )
|
||||||
. lc $self->{registerInfo}->{lastname};
|
. lc $self->{registerInfo}->{lastname};
|
||||||
|
|
||||||
# TODO check in LDAP for uid unicity
|
# The uid must be unique
|
||||||
|
my $i = 0;
|
||||||
|
while ( $self->isLoginUsed($login) ) {
|
||||||
|
$i++;
|
||||||
|
$login .= $i;
|
||||||
|
}
|
||||||
|
|
||||||
$self->{registerInfo}->{login} = $login;
|
$self->{registerInfo}->{login} = $login;
|
||||||
|
|
||||||
@ -56,4 +61,30 @@ sub createUser {
|
|||||||
return PE_OK;
|
return PE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## @method bool isLoginUsed
|
||||||
|
# Search if login is already in use
|
||||||
|
# @result 0 if login is used, 1 else
|
||||||
|
sub isLoginUsed {
|
||||||
|
my ( $self, $login ) = splice @_;
|
||||||
|
|
||||||
|
my $mesg = $self->ldap->search(
|
||||||
|
base => $self->{ldapBase},
|
||||||
|
filter => "(uid=$login)",
|
||||||
|
scope => "sub",
|
||||||
|
attrs => ['1.1'],
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( $mesg->code() != 0 ) {
|
||||||
|
$self->lmLog( "LDAP Search error for $login: " . $mesg->error, 'warn' );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $mesg->count() > 0 ) {
|
||||||
|
$self->lmLog( "Login $login already used in LDAP", 'debug' );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user