ExternalAuth And Numeric LDAP/AD ID problem


Our AD usernames are numeric.

I noticed that during login, if the username is numeric, it runs the following query:
“SELECT * FROM Users WHERE id = ‘’”

if it’s not numeric, it does a lookup on the ‘Name’ field.

I took over a 3.6 install which had a small customization in ‘share/html/autohandler’ which seems simple enough:

if ($user =~ /^\d+$/) {
$user = “rt$user”;

So it would authenticate with numeric ID to AD, but prefix it with ‘rt’ on the RT side when populating the ‘Name’ field.

I am trying to replicate this in the 4.0 install.

Seems like it would be an easy change in ‘local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm’, but I haven’t been able to find the right spot to prefix $username. But then again, I’m not that good at figuring out other people’s code.

Any thoughts / Pointers?

AD is out of my control, and would involve a lot of red[ish] tape to change, so I would prefer to avoid that.