Can't call method "as_string"

I’m new to RT and Perl, but with some good skills with Linux.

1) I Have installed successfully RT, logging on with no errors with local u

sers end logging on successful

2)But when i login the url with A D credentials it gives me the bellow err

or. on the browser

Can't call method "as_string" on an undefined value at/opt/rt3/local/plugi=

ns/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pmline 100



  for first time, but when i refreshes the same page i gets the login successf

ully for the same. This happens every time when i login after logoff.





    Here goes the extra information.


Installed versions


Windows 2000 AD

      Centos 5.4 on RT server

R T 3.8.7

RT-Authen-ExternalAuth-0.08

mod_perl-2.0.4-6.el5





 bellow are the rt logs

tail -f /var/log/rt/rt.log





[Thu Feb 25 09:13:45 2010] [debug]: Attempting to use external auth servic

e: My_LDAP (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/Ex

ternalAuth.pm:64)

[Thu Feb 25 09:13:45 2010] [debug]: Calling UserExists with $username (sha

ilesh.raitole) and $service (My_LDAP) (/opt/rt3/local/plugins/RT-Authen-Ex

ternalAuth/lib/RT/Authen/ExternalAuth.pm:105)

[Thu Feb 25 09:13:45 2010] [debug]: UserExists params:

username: shailesh.raitole , service: My_LDAP (/opt/rt3/local/plugins/RT-A

uthen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:274)

[Thu Feb 25 09:13:45 2010] [debug]: LDAP Search =3D=3D=3D  Base: dc=3Dvirt

ual,dc=3Dcom =3D=3D Filter: (&(&(ObjectCategory=3DUser)(ObjectClass=3DPers

on))(samaccountname=3Dshailesh.raitole)) =3D=3D Attrs: l,cn,st,mail,sAMAcc

ountName,india,streetAddress,postalCode,telephoneNumber,samaccountname,sAM

AccountName (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/E

xternalAuth/LDAP.pm:304)

[Thu Feb 25 09:13:45 2010] [debug]: Password validation required for servi

ce - Executing... (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/Au

then/ExternalAuth.pm:155)

[Thu Feb 25 09:13:45 2010] [debug]: Trying external auth service: My_LDAP

 (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth

/LDAP.pm:16)

[Thu Feb 25 09:13:45 2010] [debug]: LDAP Search =3D=3D=3D  Base: dc=3Dvirt

ual,dc=3Dcom =3D=3D Filter: (&(samaccountname=3Dshailesh.raitole)(&(Object

Category=3DUser)(ObjectClass=3DPerson))) =3D=3D Attrs: dn (/opt/rt3/local/

plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:43)

[Thu Feb 25 09:13:45 2010] [debug]: Found LDAP DN: CN=3Dshailesh raitole,C

N=3DUsers,DC=3Dvirtual,DC=3Dcom (/opt/rt3/local/plugins/RT-Authen-External

Auth/lib/RT/Authen/ExternalAuth/LDAP.pm:75)



Browser error



Can't call method "as_string" on an undefined value at/opt/rt3/local/plugi

ns/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pmline 100.



 The rt logs after refreshing the same url are as follows;'



tail -f /var/log/rt/rt.log



[Thu Feb 25 09:18:18 2010] [debug]: Reloading RT::User to work around a bu

g in RT-3.8.0 and RT-3.8.1 (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/

html/Callbacks/ExternalAuth/autohandler/Auth:14)



Browser: successful login



Bellow are the configuration of my pem files.



vim /opt/rt3/etc/RT_SiteConfig.pm



#Set( $rtname, 'ssr.com');

#Set(@Plugins,(qw(Extension::QuickDelete RT::FM)));

Set( $rtname, 'ssr.com');

Set($Organization, 'ssr');

Set($CorrespondAddress , 'ssr@ssr.com');

Set($CommentAddress , 'ssr@ssr.com);

Set($Timezone , 'Asia/Calcutta');

Set($UseFriendlyFromLine , 1);

Set($FriendlyFromLineFormat , "\"%s\" <%s>");

Set($UseFriendlyToLine , 1);

Set($FriendlyToLineFormat, "\"%s Ticket #%s\":;");



# THE DATABASE:



Set($DatabaseType, 'mysql');



Set($DatabaseHost   , 'localhost');



Set($DatabaseRTHost , 'localhost');



Set($DatabaseUser , 'local');



Set($DatabasePassword , 'localpass');



Set($DatabaseName , 'rt3');



Set($OwnerEmail , 'root');



Set($RTAddressRegexp , '^rt\@ssr.com$');



Set($NotifyActor, 1);



Set($SendmailArguments , '-oi -t -f"<ssr@ssr.>"');=20



Set($MaxAttachmentSize , 10000000);



# THE WEBSERVER:



Set($WebPath , "/ticket");

Set($WebBaseURL , "http://rt.ssr.com");



# Log Path



Set($LogToFile , 'debug');=20



Set($LogDir , '/var/log/rt');



Set($LogToFileNamed , "rt.log");



Set(@Plugins, qw(

                        RT::Authen::ExternalAuth

                 ));



require "/opt/rt3/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.p

m";

Set($AutoCreate,                        {Privileged =3D> 1});

Set($AuthMethods, ['LDAP', 'Internal']);



1;





vim /opt/rt3/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm



Set($ExternalAuthPriority,           [ 'My_LDAP' ] );

Set($ExternalInfoPriority,           [ 'My_LDAP' ] );

Set($ExternalServiceUsesSSLorTLS,    0);

Set($AutoCreateNonExternalUsers,     0);



Set($ExternalSettings,      {=20

                     'My_LDAP'               =3D>  {

 =20

                     'type'                  =3D>  'ldap',

                     'server'                =3D>  'AD.example.com',

                     'user'                  =3D>  'svn',

                     'pass'                  =3D>  'xxxxxxx',

                     'base'                  =3D>  'dc=3Dexample,dc=3Dcom'

,



                    =20

                     'filter'                =3D>  '(&(ObjectCategory=3DUs

er)(ObjectClass=3DPerson))',

                   =20

                     d_filter'             =3D>  '(userAccountControl:1.2.

840.113556.1.4.803:=3D2)',

                    =20

                                                      =20

#                     'tls'                   =3D>  0,

#                    'ssl_version'           =3D>  3,



                     'net_ldap_args'         =3D> [    version =3D>  3  

         ],

                     'group'                 =3D>  'svn Users',

                     'group_attr'            =3D>  'svn Users',



                     'attr_match_list'       =3D> [   'Name', 'EmailAddres

s'   ],

                     #'attr_map'              =3D> {   'Name' =3D> 'sAMAcc

ountName',

                     'attr_map'              =3D> {   'Name' =3D> 'samacco

untname',

                                                    'EmailAddress' =3D> 'm

ail',

                                                    #'Organization' =3D>

 'physicalDeliveryOfficeName',

                                                    'RealName' =3D> 'cn',

                                                    'ExternalAuthId' =3D>

 'sAMAccountName',

                                                    'Gecos' =3D> 'sAMAccou

ntName',

                                                    'WorkPhone' =3D> 'tele

phoneNumber',

                                                    'Address1' =3D> 'stree

tAddress',

                                                    'City' =3D> 'l',

                                                    'State' =3D> 'st',

                                                    'Zip' =3D> 'postalCode

',

                                                    'Country' =3D> 'india'

                                               }

                                                }

                            }

);



1;





Any suggestion, are appreciate.



Thanks and Regards,



SSR

I’m new to RT and Perl, but with some good skills with Linux.
Can’t call method “as_string” on an undefined value at/opt/rt3/local/plugi=
ns/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pmline 100
‘group’ =3D> ‘svn Users’,
‘group_attr’ =3D> ‘svn Users’,

I doubt the group and the group_attr are both named ‘svn Users’ and
you’re generating invalid group search syntax.

-kevin