[rt-users] ldap auth succeeds but autocreate fails

Kostas Voulgaris voulgaris at ceid.upatras.gr
Fri Mar 7 06:28:27 EST 2008


Thank you for the reply. It's not a permissions problem in my opinion.
Everyone has the ModilfySelf right and ldap info update works (i've
checked that). moreover no fail update appears in log file after using
your modification in User_Local.pm.

Kostas Voulgaris



On Fri, 2008-03-07 at 09:08 +0000, Mike Peachey wrote:
> Kostas Voulgaris wrote:
> > [Thu Mar  6 15:26:05 2008] [warning]: Use of uninitialized value in
> > numeric eq (==) at /usr/share/request-tracker3.6/lib/RT/User_Overlay.pm
> > line 1787. (/usr/share/request-tracker3.6/lib/RT/User_Overlay.pm:1787)
> > [Thu Mar  6 15:26:05 2008] [warning]: Use of uninitialized value in
> > numeric eq (==) at /usr/share/request-tracker3.6/lib/RT/User_Overlay.pm
> > line 1787. (/usr/share/request-tracker3.6/lib/RT/User_Overlay.pm:1787)
> 
> I've not seen these before..
> 
> > 
> > #this maybe the root of the problem.
> > [Thu Mar  6 15:26:05 2008] [warning]: Transaction->Create couldn't, as
> > you didn't specify an object type and id
> > (/usr/share/request-tracker3.6/lib/RT/Record.pm:1466)
> 
> No, I think that's a red herring. I am *still* getting that error even 
> now and I haven't fully bothered to track down the source.
> 
> I've posted the following before and although it's not EXACTLY the same 
> issue here, the things I mention are almost certainly applicable, and 
> adding custom debugging will help you too:
> 
> ***********************************************************************
> The problem is almost certainly permissions, and I've suddenly come a
> cropper on it too.
> 
> Make this change to your User_Local.pm:
> 
> Replace:
>           $self->$method($args{$key});
> 
> With:
>           my ($method_success,$method_msg) = $self->$method($args{$key});
>           if (!$method_success) {
>               $RT::Logger->debug("$method Failed. $method_msg");
>           }
> 
> And for each field it can't update it will log a debug message about it.
> 
> For me, at the moment, it works with a privileged user because they are
> allowed to edit their user information, but it doesn't work for an
> unprivileged user because they are not.
> 
> Since you are calling the Set$method methods on the User Object itself,
> if that user doesn't have permission to change their own details, you
> can't do it.
> 
> You can get around it by doing something like this which is to create an
> RT::SystemUser object, and then load the user inside it.
> 
>               my $UserObj = RT::User->new($RT::SystemUser);
>               $UserObj->Load($name_to_update);
>               my ($val, $message) = $UserObj->SetDisabled(1);
> ***********************************************************************




More information about the rt-users mailing list