[rt-users] 3.8.6: WritableAttributes error in Web.pm's AttemptExternalAuth

Philip Shore pms52 at cam.ac.uk
Tue Dec 1 06:33:22 EST 2009


Hi Keven,

Thanks for the quick response.  That patch does indeed fix the error and 
now I can see the self service interface after authenticating.

Re, our config.  I have attached the complete config in case you would 
like to provide any words of wisdom.

We are using a custom apache single sign on module that puts the users 
id into remote_user then we auto create the user after lookup their 
name, email address etc from an ldap source which I guess is the old 
handler.  I am taking a look at  RT::Authen::ExternalAuth  to see if it  
would be a better solution for us.

Many thanks,
Philip Shore.


Kevin Falcone wrote:
> On Mon, Nov 30, 2009 at 06:38:14PM +0000, Philip Shore wrote:
>   
>> I am trying to upgrade our 3.6.5 RT instance to 3.8.6 and I am getting 
>> an error at the point of first log on.
>>
>> There is new code in RT 3.8.6 that wasn't present in 3.8.5 that is 
>> throwing an error for me:
>>     
>
> I'd be interested to know if the untested attached patch fixes the
> issue you're seeing.
>
> Your siteconfig is also really odd, it isn't clear to me if you're
> using all in-house config, or some mix of apache auth and
> RT-Authen-ExternalAuth or the much older ldap handler.
>
> -kevin
>
>   
>> error:       Can't locate object method "WritableAttributes" via package 
>> "pms52" (perhaps you forgot to
>> load "pms52"?) at /opt/rt3/bin/../lib/RT/Interface/Web.pm line 367, 
>> <DATA> line 276.
>> context:      
>> ...      
>> 363:      # now get user specific information, to better create our user.
>> 364:      my $new_user_info = 
>> RT::Interface::Web::WebExternalAutoInfo($user);
>> 365:      
>> 366:      # set the attributes that have been defined.
>> 367:      foreach my $attribute ( $user->WritableAttributes ) {
>> 368:      $m->callback(
>> 369:      Attribute => $attribute,
>> 370:      User => $user,
>> 371:      UserInfo => $new_user_info,
>> ...      
>> code stack:     
>> /opt/rt3/bin/../lib/RT/Interface/Web.pm:367
>> /opt/rt3/bin/../lib/RT/Interface/Web.pm:197
>> /opt/rt3/share/html/autohandler:53
>>
>>
>> I have RT configured to use WebExternalAuto, and so have an Apache 
>> module providing the userid via REMOTE_USER and user info collected via 
>> ldap.  I logon with username "pms52" which appears in the error. I can 
>> also see in the rt log that it has successfully retrieved my information 
>> from our ldap server.
>>
>> I am not a perl programmer but it looks to me like the RT code at line 
>> 367 is expecting a database object but has a String instead. 
>>
>> The AttemptExternalAuth subrouting is new in RT 3.8.6.  Is there 
>> something I have not configured correctly or is there a bug ?  I have 
>> pasted what I think are the relevant parts of our RT_SiteConfig below.
>>
>> Many thanks,
>> Philip Shore.
>>
>>
>> Set($AuthMethods, ['Internal']);
>>
>> Set($WebExternalAuth , 1);
>> Set($WebExternalAuto , 1);
>> Set($AutoCreate, { Privileged => 0 } );
>>
>> Set($LdapExternalInfo, 1);
>> Set($LdapAutoCreateNonLdapUsers, 1);
>> Set($LdapAttrMap, {'Name' => 'uid',
>>                    'EmailAddress' => 'mail',
>>                    'Organization' => 'instID',
>>                    'RealName' => 'displayName',
>>                    'NickName' => 'title',
>>                    'ExternalContactInfoId' => 'mailAlternative',
>>                    'ExternalAuthId' => 'uid',
>>                    'Gecos' => 'uid',
>>                    'WorkPhone' => 'telephoneNumber',
>>                    'Address1' => 'postalAddress',
>>                    'Address2' => 'postalAddress'}
>> );
>>
>>
>> _______________________________________________
>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
>>
>> Community help: http://wiki.bestpractical.com
>> Commercial support: sales at bestpractical.com
>>
>>
>> Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
>> Buy a copy at http://rtbook.bestpractical.com
>>
>>     
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
>>
>> Community help: http://wiki.bestpractical.com
>> Commercial support: sales at bestpractical.com
>>
>>
>> Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
>> Buy a copy at http://rtbook.bestpractical.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20091201/33205dcc/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RT_SiteConfig.pm
Type: application/x-perl
Size: 25769 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20091201/33205dcc/attachment.bin>


More information about the rt-users mailing list