[rt-users] Undefined subroutine &RT::Authen::ExternalAuth::UserExists

gwen gwenix at gmail.com
Thu Dec 4 09:34:40 EST 2008


Hi, I'm trying to install RT (with Postgres and LDAP backends).  I
have gotten it working with Postgres so far, but I'm now quite stuck
on the LDAP integration.  Here is the snippet from RT_SiteConfig.pm
for LDAP:

Set($WebExternalAuth , '1');
Set($WebFallbackToInternalAuth , '1');
#Set(@Plugins,(qw(Extension::QuickDelete)));
#Set(@Plugins,(qw(RT::FM)));
Set(@Plugins, qw(RT::Authen::ExternalAuth));
#Set($LogToFileNamed , "rt.log");
#Set($LogToFile , 'debug');

# The order in which the services defined in ExternalSettings
# should be used to get information about users. This includes
# RealName, Tel numbers etc, but also whether or not the user
# should be considered disabled.
# Once user info is found, no more services are checked.
Set($ExternalInfoPriority, [ 'My_LDAP' ]);

# If this is set to true, then the relevant packages will
# be loaded to use SSL/TLS connections. At the moment,
# this just means "use Net::SSLeay;"
Set($ExternalServiceUsesSSLorTLS, 0);

# If this is set to 1, then users should be autocreated by RT
# as internal users if they fail to authenticate from an
# external service.
Set($AutoCreateNonExternalUsers, 0);

# These are the full settings for each external service as a HashOfHashes
# Note that you may have as many external services as you wish. They will
# be checked in the order specified in the Priority directives above.
# e.g.
#
Set($ExternalAuthPriority,['My_LDAP']);
#
Set($ExternalSettings, {
  # AN EXAMPLE LDAP SERVICE
  'My_LDAP' => { ## GENERIC SECTION
    # The type of service (db/ldap/cookie)
    'type' => 'ldap',
    # Should the service be used for authentication?
    'auth' => 1,
    # Should the service be used for information?
    'info' => 1,
    # The server hosting the service
    'server' => 'redacted',
    ## SERVICE-SPECIFIC SECTION
    # If you can bind to your LDAP server anonymously youshould
    # remove the user and pass config lines, otherwisespecify them here:
    #
    # The username RT should use to connect to the LDAP server
    'user' => 'redacted',
    # The password RT should use to connect to the LDAP server
    'pass' => 'redacted',
    #
    # The LDAP search base
    'base' => 'redacted',
    # The filter to use to match RT-Users
    'filter' => '(objectclass=inetOrgPerson)',
    # The filter that will only match disabled users
    'd_filter' => '(employeeType=inactive)',
    # Should we try to use TLS to encrypt connections?
    'tls' => 0,
    # What other args should I pass to Net::LDAP->new($host, at args)?
    'net_ldap_args' => [ version => 3 ],
    # Does authentication depend on group membership? What group name?
    #'group' => '',
    # What is the attribute for the group object thatdetermines membership?
    #'group_attr' => '',
    ## RT ATTRIBUTE MATCHING SECTION
    # The list of RT attributes that uniquely identify a user
    'attr_match_list' => [ 'Name',
                        'EmailAddress',
                        'RealName',
                        #'WorkPhone',
                        #'Address2'
                        ],
    # The mapping of RT attributes on to LDAP attributes
    'attr_map' => { 'Name' => 'displayName',
                        'EmailAddress' => 'mail',
                        #'Organization' => 'physicalDeliveryOfficeName',
                        'RealName' => 'cn'
                        #'ExternalAuthId' => 'sAMAccountName',
                        #'Gecos' => 'sAMAccountName',
                        #'WorkPhone' => 'telephoneNumber',
                        #'Address1' => 'streetAddress',
                        #'City' => 'l',
                        #'State' => 'st',
                        #'Zip' => 'postalCode',
                        #'Country' => 'co'
                        }
    }
  }
);

When I try to log into RT, I get the following error in the browser:

Undefined subroutine &RT::Authen::ExternalAuth::UserExists called at
/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAuth/autohandler/Auth
line 39,  line 323.

And the only thing in the logs is as follows:

Dec  3 16:13:08 meatwad RT: Working around bug in RT and reloading
RT::User (/opt/rt3/local/plugins/RT-Authen-ExternalAuth/html/Callbacks/ExternalAuth/autohandler/Auth:12)

Can anyone help me with this?  I am banging my head against a wall at
this point.

-- 
Gwendolyn R. Schmidt



More information about the rt-users mailing list