Hello all,

Im attempting to configure OTRS 2.4 "customers" with LDAP and I keep getting
stopped at Panic No user data, or basically getting the data into the
database.

I was able to get the agents in no problem after I found the correct
function call, but customers are giving me a huge problem.

Ive tried all the various methods I have found on the net but none of them
work. Im sure its a database mapping issue, but I cant figure it out. The
OTRS database is the default setup.

Any idea?

Here is my config, both agent and customer.

#:::::::::::::::::::::
#:: For Agent AUth  ::
#:::::::::::::::::::::


      $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
      $Self->{'AuthModule::LDAP::Host'} = 'server.domain.local';
      $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=local';
      $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
      $Self->{'AuthModule::LDAP::SearchUserDN'} =     'CN=Ticket
System,OU=IT,OU=groups,dc=domain,dc=local';
      $Self->{'AuthModule::LDAP::SearchUserPw'} = 'Password';

     # Cn 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'} = '';

      #Check if the user is allowed to auth in a posixGroup
      # (e. g. user needs to be in a group xyz to use otrs)
      $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS
Admin,OU=IT,ou=groups,dc=domain,dc=local';
      $Self->{'AuthModule::LDAP::AccessAttr'} = 'member';

    # 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,
    };

      #Agent LDAP to DB mapping
      $Self->{UserSyncLDAPMap} = {
        # 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',
    ];

###############
#Customers
###############

      $Self->{'Customer::AuthModule'} =
'Kernel::System::CustomerAuth::LDAP';
      $Self->{'Customer::AuthModule::LDAP::Host'} = 'server.domain.local';
      $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=local';
      $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
      $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=Ticket
System,OU=IT,OU=Groups,dc=domain,dc=local';
      $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';

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

      #Check if the user is allowed to auth in a posixGroup
      # (e. g. user needs to be in a group xyz to use otrs)
      $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'CN=OTRS
Corp,OU=Groups,DC=domain,DC=local';
      $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member';

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

  $Self->{CustomerUser} = {
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
      Host => 'server.domain.local',
      BaseDN => 'dc=domain,dc=local',
      SSCOPE => 'sub',
    },
    CustomerKey => 'uid',
    CustomerID => 'mail',
    CustomerUserListFields => ['uid', 'cn', 'mail'],
    CustomerUserSearchFields => ['uid', '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', 'uid', 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' ],
    ],
  };

    # UserSyncLDAPMap
    # (map if agent should create/synced from LDAP to DB after login)
    $Self->{UserSyncLDAPMap} = {
        # DB -> LDAP
       UserFirstname => 'givenName',
       UserLastname => 'sn',
        UserEmail => 'mail',
   };

    # UserSyncLDAPGroups
    # (If "LDAP" was selected for AuthModule, you can specify
    # initial user groups for first login.)
    $Self->{UserSyncLDAPGroups} = [
       'users',
    ];

    # UserTable
    $Self->{DatabaseUserTable} = 'customer_user';
    $Self->{DatabaseUserTableUserID} = 'id';
    $Self->{DatabaseUserTableUserPW} = 'pw';
    $Self->{DatabaseUserTableUser} = 'login';
---------------------------------------------------------------------
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

NEW! ENTERPRISE SUBSCRIPTION - Get more information NOW!
http://www.otrs.com/en/support/enterprise-subscription/

Reply via email to