ExternalAuth versus RT::User::Load

Hi guys,

I’m using ExternalAuth to authenticate user against a LDAP server. But
I’m unable to load an user that have never logged in RT (but it
exists on LDAP database).

Steps to reproduce:

  1. Create a new user account on LDAP server, let say ‘testuser’ (cn
    = “Test User”)
  2. Configure map attributes to use RealName (RT) as ‘cn’ (LDAP).
  3. Try to load a user in a scrip:
    --------------------8<-------------------------

    my $user = RT::User->new($RT::SystemUser);
    $user->LoadByCol(“RealName”, “Test User”);

    --------------------8<-------------------------

Expected result: the scrip will not load the user.

My question is: Is there a way to load this user (a valid user in LDAP
server) even if he has never logged in? (I mean autocreate the user
while we load him)

Some information:

  • I’m using RT 3.6
  • I followed [1] to get LDAP authentication working (very long time
    ago, and I know its deprecated now)

1 - LdapUserLocalOverlay - Request Tracker Wiki

Thanks for any help.

Kind Regards, Italo.

Saudações,

Italo Valcy :: http://wiki.dcc.ufba.br/~ItaloValcy

Italo,

I had to do this awhile back and I had to develop a work-around procedure.
What I did was wait until after hours (everyone went home) and then changed
the RT_SiteConfig.pm file to turn off LDAP and allow adding users manually.
I then bounced my RT session and added the users. Then I went back and
changed the configurations back and bounced it again and it was ready for
normal LDAP authentication for production hours.

Hope this helps.

Kenn
LBNLOn Wed, May 19, 2010 at 8:38 AM, Italo Valcy italovalcy@gmail.com wrote:

Hi guys,

I’m using ExternalAuth to authenticate user against a LDAP server. But
I’m unable to load an user that have never logged in RT (but it
exists on LDAP database).

Steps to reproduce:

  1. Create a new user account on LDAP server, let say ‘testuser’ (cn
    = “Test User”)
  2. Configure map attributes to use RealName (RT) as ‘cn’ (LDAP).
  3. Try to load a user in a scrip:
    --------------------8<-------------------------

    my $user = RT::User->new($RT::SystemUser);
    $user->LoadByCol(“RealName”, “Test User”);

    --------------------8<-------------------------

Expected result: the scrip will not load the user.

My question is: Is there a way to load this user (a valid user in LDAP
server) even if he has never logged in? (I mean autocreate the user
while we load him)

Some information:

  • I’m using RT 3.6
  • I followed [1] to get LDAP authentication working (very long time
    ago, and I know its deprecated now)

1 - LdapUserLocalOverlay - Request Tracker Wiki

Thanks for any help.

Kind Regards, Italo.


Saudações,

Italo Valcy :: http://wiki.dcc.ufba.br/~ItaloValcyhttp://wiki.dcc.ufba.br/~ItaloValcy

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com