CentOS 7.x OTRS AD Integration

From Notes_Wiki
Revision as of 14:24, 2 May 2018 by Saurabh (talk | contribs) (Created page with "<yambe:breadcrumb>CentOS_7.x_OTRS|CentOS 7.x OTRS</yambe:breadcrumb> =CentOS 7.x OTRS AD integration= To integrate OTRS ticketing tool with Active Directory (AD) copy below c...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<yambe:breadcrumb>CentOS_7.x_OTRS|CentOS 7.x OTRS</yambe:breadcrumb>

CentOS 7.x OTRS AD integration

To integrate OTRS ticketing tool with Active Directory (AD) copy below code and paste above "end of your own config options!!!" in the '/opt/otrs/Kernel/Config.pm' file


#
# Backends for Customers / End-Users
#
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'server.domain.tld';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=tld';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'user@domain.tld';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
#
# LDAP/AD Backend
#
$Self->{CustomerUser1} = {
   Name => 'XYZ Inc. Active Directory or LDAP',
   Module => 'Kernel::System::CustomerUser::LDAP',
   Params => {
	  Host => 'server.domain.tld',
	  BaseDN => 'DC=domain,DC=tld',
	  SSCOPE => 'sub',
	  UserDN =>'user@domain.tld',
	  UserPw => 'password',
   },
   # customer unique id
   CustomerKey => 'sAMAccountName',
   CustomerID => 'mail',
   CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
   CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
   CustomerUserSearchPrefix => '',
   CustomerUserSearchSuffix => '*',
   CustomerUserSearchListLimit => 2500,
   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' ],
   ],
};
# 
# mySQL Backend
#
$Self->{CustomerUser2} = {
  Name => 'mySQL Customer Database',
  Module => 'Kernel::System::CustomerUser::DB',
  Params => {
	 Table => 'customer_user',
  },
  # customer unique id
  CustomerKey => 'email',
  # customer #
  CustomerID => 'customer_id',
  CustomerValid => 'valid_id',
  CustomerUserListFields => ['first_name', 'last_name', 'email'],
  CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
  CustomerUserSearchPrefix => '',
  CustomerUserSearchSuffix => '*',
  CustomerUserSearchListLimit => 2500,
  CustomerUserPostMasterSearchFields => ['email'],
  CustomerUserNameFields => ['title','first_name','last_name'],
  CustomerUserEmailUniqCheck => 1,
  Map => [
	   # note: Login, Email and CustomerID needed!
	   # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
	   [ 'UserTitle',    'Title',      'title',        1, 0, 'var', '', 0 ],
	   [ 'UserFirstname',  'Firstname',  'first_name',     1, 1, 'var', '', 0 ],
	   [ 'UserLastname',   'Lastname',      'last_name',    1, 1, 'var', '', 0 ],
	   [ 'UserLogin',    'Username',   'login',        1, 1, 'var', '', 0 ],
	   [ 'UserPassword',   'Password',      'pw',           0, 0, 'var', '', 0 ],
	   [ 'UserEmail',    'Email',      'email',        1, 1, 'var', '', 0 ],
	   [ 'UserCustomerID', 'CustomerID', 'customer_id',  0, 1, 'var', '', 0 ],
	   [ 'UserPhone',    'Phone',      'phone',        1, 0, 'var', '', 0 ],
	   [ 'UserFax',      'Fax',        'fax',          1, 0, 'var', '', 0 ],
	   [ 'UserMobile',        'Mobile',     'mobile',       1, 0, 'var', '', 0 ],
	   [ 'UserStreet',        'Street',     'street',       1, 0, 'var', '', 0 ],
	   [ 'UserZip',      'Zip',        'zip',          1, 0, 'var', '', 0 ],
	   [ 'UserCity',     'City',       'city',         1, 0, 'var', '', 0 ],
	   [ 'UserCountry',       'Country',    'country',      1, 0, 'var', '', 0 ], 
	   [ 'UserComment',       'Comment',    'comments',     1, 0, 'var', '', 0 ],
	   [ 'ValidID',        'Valid',       'valid_id', 0, 1, 'int', '', 0 ],
  ],
  # default selections
  Selections => {
	 UserTitle => {
		 'Mr.' => 'Mr.',
		 'Mrs.' => 'Mrs.',
	 },
  },
};

Based on the environment value of 'CustomerUserSearchListLimit => 2500' can be increased further.


Refer: