[rt-users] Another RT::Authen::ExternalAuth question

Kevin Falcone falcone at bestpractical.com
Thu Jan 14 13:23:30 EST 2010


On Thu, Jan 14, 2010 at 11:20:17AM -0500, Michael James wrote:
> Well, now we're making progress! Thanks, Bill. No offense taken. The errors are in my setup of RT::Authen::ExternalAuth variables in RT_SiteConfig.pm. 
> 
> I didn't realize mysql was so case-sensitive and the different values hadn't really registered with me. Changing the table variable in RT_SiteConfig.pm from USERS to Users worked and got me to the next errors. This seems a little odd to me because I'm really using the default installation values of both RT and RT::Authen::ExternalAuth except for the base path. I made an assumption that the values in the sample RT_SiteConfig.pm from ExternalAuth's setup would be consistent with the default MySQL tables/columns. My bad... Anyway, problem solved and I thank you very much.

Unless you're authenticating against a custom mysql database, there is
no need to tell RT::Authen::ExternalAuth about RT's internal database
tables.

It sounds like you want to tell RT::Authen::ExternalAuth to only use
your LDAP configuration.

RT will fall back to internal auth if RT::Authen::ExternalAuth fails
to authenticate you against LDAP

-kevin

> The next errors were fixed by changing the field names to match the actual column names in the RT database. I'm just showing this for completeness.
> 
> 
> Jan 14 11:04:18 rt384 RT: DBD::mysql::db selectall_hashref failed: Unknown column 'email' in 'field list' at /opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm line 163, <DATA> line 514. (/opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm:163)
> 
> So now the table (Users) is found, but the columns are not. The relevant portion of RT_SiteConfig.pm is:
> 
>  # The mapping of RT attributes on to field names
>                                                         'attr_map'                  =>  {   'Name' => 'username',
>                                                                                             'EmailAddress' => 'email',
>                                                                                             'ExternalAuthId' => 'username',
>                                                                                             'Gecos' => 'userID'
> 
> 
> >>> William Graboyes <william.graboyes at theportalgrp.com> 1/13/2010 6:23 PM >>>
> Hi Mike,
> 
> I intend no offense, I am just trying to help out, and sometimes we forget
> to check the easy stuff first (hey we all do some times :) ).
> 
> That being said I think we have this figured out:
> 
> I know it is like a game of 20 questions, but in my current installs 3.8.4
> and 3.8.6 with mysql the table USERS does not exist, because the table name
> is Users.  I am not sure if perl dbi is picky about case, but my gut
> instinct would be that it is, and I know that mysql is picky about case in
> this sense.
> 
> Even mysql directly doesn't like case mismatch.
> 
> select * from `cachemgt`.`USERS`;  -- would result in an error because the
> table USERS doesn't exist -- as a matter of a fact it is the same exact
> error you are seeing in the logs "Table 'cachemgt.USERS' doesn't exist".
> select * form `cachemgt`.`Users`; -- works on my instance because the tabke
> Users does exist.
> 
> Note that I changed the query to match your database structure.
> 
> HTH,
> 
> Thanks,
> Bill
> 
> On Wed, Jan 13, 2010 at 3:08 PM, Michael James
> <MJames at stonebridgebank.com>wrote:
> 
> > Bill, that is indeed the RT-database. I posted my RT_SiteConfig.pm file
> > earlier today if you'd like to peruse it. The rt_user has permissions.
> >
> > Thanks, Mike
> >
> > >>> William Graboyes <william.graboyes at theportalgrp.com> 1/13/2010 5:47 PM
> > >>>
> > Hi Mike,
> >
> > Asking questions from the questioner.
> >
> > Is that a separate database from your RT database?
> >
> > If it is a separate database, does your rt db user have access to that
> > database?
> >
> > Just trying to help.
> >
> > Thanks,
> > Bill
> >
> > On Wed, Jan 13, 2010 at 2:36 PM, Michael James
> > <MJames at stonebridgebank.com>wrote:
> >
> > > Thanks, Bill. The database name is cashmgt and the table name is USERS,
> > > rather than table and column names. In any case, the table does exist.
> > >
> > > Mike
> > >
> > > >>> William Graboyes <william.graboyes at theportalgrp.com> 1/13/2010 5:30
> > PM
> > > >>>
> > > Hi Mike,
> > >
> > > Purely from a log file perspective, I know nothing about external auth,
> > it
> > > is saying that the column USERS doesn't exist in the table cachemgmt.  It
> > > looks like it is trying to then recover gracefully, instead of puking all
> > > over itself and refusing to allow you to log in.
> > >
> > > Again purely from the Log File Perspective, I am sure that there are
> > others
> > > out there with a massive store of knowledge on external auth, that may
> > help
> > > you fix this one.
> > >
> > > Thanks,
> > > Bill
> > >
> > > On Wed, Jan 13, 2010 at 2:20 PM, Michael James
> > > <MJames at stonebridgebank.com>wrote:
> > >
> > > > Hi, I see an error in my /var/log/messages file when I'm logging in to
> > > this
> > > > instance of RT. Fresh install of RT 3.8.7 on SLES10 64-bit. What does
> > > this
> > > > imply? The mysql database cashmgt exists and I can login with the
> > default
> > > > root credentials, I just don't how to interpret the message.
> > > >
> > > > Thanks, Mike
> > > >
> > > >
> > > > Jan 13 17:04:41 rt384 RT: DBD::mysql::db selectall_hashref failed:
> > Table
> > > > 'cashmgt.USERS' doesn't exist at
> > > >
> > >
> > /opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm
> > > > line 219, <DATA> line 514.
> > > >
> > >
> > (/opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm:219)
> > > > Jan 13 17:04:41 rt384 RT: Issuing rollback() for database handle being
> > > > DESTROY'd without explicit disconnect() at
> > > >
> > >
> > /opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm
> > > > line 219, <DATA> line 514.
> > > >
> > >
> > (/opt/cashmgt/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/DBI.pm:219)
> > > > Jan 13 17:04:41 rt384 RT: Successful login for root from 172.31.4.144
> > > > (/opt/cashmgt/bin/../lib/RT/Interface/Web.pm:430)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20100114/7b2e455d/attachment.sig>


More information about the rt-users mailing list