Hello again. I have tried to get this working with Microsoft’s A.D. but I’m still having troubles, but I think I’m getting closer. I’ve adapted my Config with help from this email list. (Thank You to Michiel Beijen and Guillaume Rehm.)

 

My question is how do I allow some A.D. users to be “users” and other A.D. users to be “Agents” or “Admins?” Here is my config so far:

 

((SNIP))

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';

$Self->{'AuthModule::LDAP::Host'} = 'AD Server';

$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=my,DC=corp';

$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

 

$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=Agents-Group,OU=My-OU,DC=my,DC=corp';

$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';

$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';

 

$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs-user,OU=user-acct,DC=my,DC=corp';

$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Password';

 

# $Self->{'AuthModule::LDAP::AlwaysFilter'} = ;

 

$Self->{'AuthModule::LDAP::Params'} = {

   port => 389,

   timeout => 120,

   async => 0,

   version => 3,

};

 

$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';

$Self->{'AuthSyncModule::LDAP::Host'} = 'AD Server';

$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'DC=my,DC=corp';

$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';

$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs-user,OU=user-Acct,DC=my,DC=corp';

$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Password';

 

$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {

     # DB -> LDAP

     UserFirstname => 'givenName',

     UserLastname  => 'sn',

     UserEmail     => 'mail',

};

 

$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [

   'users',

];

 

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';

$Self->{'Customer::AuthModule::LDAP::Host'} = 'AD Server';

$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=my,DC=corp';

$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';

$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=otrs-user,OU=user-acct,DC=my,DC=corp';

$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Password';

$Self->{CustomerUser} = {

  Module => 'Kernel::System::CustomerUser::LDAP',

  Params => {

  Host => 'AD Server',

  BaseDN => 'DC=my,DC=corp',

  SSCOPE => 'sub',

  UserDN => 'CN=otrs-user,OU=user-acct,DC=my,DC=corp',

  UserPw => 'Password',

  },

  CustomerKey => 'sAMAccountName',

  CustomerID => 'mail',

  CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],

  CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],

  CustomerUserPostMasterSearchFields => ['sAMAccountName', 'cn', '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' ],

    ],

 };

 

((END SNIP))

 

 

 

 

I’m sure I’m missing something fundamental in this configuration. Any pointers would be appreciated very much!

 

/MM

 

 



Michael Martin
Systems Administrator, Local Government Division
P: 800-646-2633