I have Googled and screwed around with Config.pm for hours.  The configuration 
is creating agents in the database appropriately, but it is not creating users 
in the customer database.  I am using this as in internal system only, so there 
is no outside access.  I want any user to be able to use their AD credentials 
to log on.  If there is not an account in OTRS, it should create one for them.

Anyone have any thoughts on what I am overlooking?  Here is my 
/opt/otrs/Kernel/Config.pm.  I copied and pasted from several Google results 
and modified for my own information.  It does validate the password is correct 
for the customer, but does not add them to the database if they don't exist.

    # ---------------------------------------------------- #
    # 
http://wiki.otterhub.org/index.php?title=Using_OTRS_with_Active_Directory_as_a_source_for_agents
 #
    # ---------------------------------------------------- #

    # This is an example configuration for using an MS AD backend
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = '172.16.10.21';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=com';
    $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

    # Check if the user is allowed to auth in a posixGroup
    # (e. g. user needs to be in a group OTRS_Agents to use otrs)
    $Self->{'AuthModule::LDAP::GroupDN'} = 
'CN=Corp_Admin_MIS,OU=level2,OU=level1,DC=domain,DC=com';
    $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
    $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';

    # Bind credentials to log into AD
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS 
Dev,OU=level2,OU=level1,DC=domain,DC=com';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';

    # in case you want to add always one filter to each ldap query, use
    # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => 
'(objectclass=user)'
    $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';

    # in case you want to add a suffix to each login name,  then
    # you can use this option. e. g. user just want to use user but
    # in your ldap directory exists user@domain.
    #$Self->{'AuthModule::LDAP::UserSuffix'} = '';

    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
    $Self->{'AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
    };

   # Now sync data with OTRS DB
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = '172.16.10.21';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=domain, dc=com';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=OTRS 
Dev,OU=level2,OU=level1,DC=domain,DC=com';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';

    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        # DB -> LDAP
        UserFirstname => 'givenName',
       UserLastname  => 'sn',
        UserEmail     => 'mail',
    };

    # AuthSyncModule::LDAP::UserSyncInitialGroups
    # (sync following group with rw permission after initial create of first 
agent
    # login)
    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
        'users',
    ];

    # ---------------------------------------------------- #
    # Customer authentication section                      #
    # ---------------------------------------------------- #

    $Self->{'SecureMode'} = '1';
    #    The name to be used for this server when constructing URLs in email
    $Self-> {'FQDN'} = 'otrsdev.domain.com';

    #Enable LDAP authentication for Customers / Users
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} = '172.16.10.21';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=domain,DC=com';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=OTRS 
Dev,OU=level2,OU=level1,DC=domain,DC=com';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
    $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectclass=user)';
    $Self->{'Customer::AuthModule::LDAP::UserSuffix'} = '';
#    $Self->{'AuthModule::LDAP::Die'} = 1;

    #CustomerUser
    #(customer user database backend and settings)
        $Self->{CustomerUser} = {
            Module => 'Kernel::System::CustomerUser::LDAP',
            Params => {
            Host => '172.16.10.21',
            BaseDN => 'DC=domain,DC=com',
            async => 0,
            port => 389,
            sscope => 'sub',
            timeout => 120,
            version => 3,
            UserDN => 'CN=OTRS Dev,OU=level2,OU=level1,DC=domain,DC=com';
            UserPw => 'password',
        },

        # Unique customer key/id
        CustomerKey => 'sAMAccountName',
        CustomerID => 'sAMAccountName',
        CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown, required, storage-type
            #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
            [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
            [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
            [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
            [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
            [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
            [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
            #[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
            #[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
            ],
        };


    # ---------------------------------------------------- #

---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Reply via email to