SCROLL
Среднее время на прочтение: 6 мин.

Интеграция OTRS 6.0.5 (Open-source Ticket Request System) с Active Directory. Настройка прозрачной аутентификации SSO (Single Sign On).

Разберем как интегрировать OTRS с Active Directory. Рассмотрим два варианта аутентификации, обычная и прозрачная (SSO).

 

Исходные данные:

  • Развернутая система OTRS 6.0.5 (по этой статье)
  • Домен контроллер Windows Server 2012 R2 (JAKONDA.LOCAL)

 

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUI4JUQwJUJEJUQxJTgyJUQwJUI1JUQwJUIzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwT1RSUyUyMCVEMSU4MSVDMiVBMEFjdGl2ZSUyMERpcmVjdG9yeSUyQyUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMCVCRSUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4RiUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCOSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMCVCMiVEMSU4QiVEMSU4MSVEMSU4MiVEMSU4MyVEMCVCRiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCMCVEMCVCNCVEMCVCQyVEMCVCOCVEMCVCRCVEMCVCOCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCMCVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCRSVEMCVCQyUyME9UUlMlMjAlRDAlQjglMjAlRDElODElMjAlRDAlQkYlRDAlQkUlRDAlQkMlRDAlQkUlRDElODklRDElOEMlRDElOEUlMjAlRDAlQkElRDAlQkUlRDElODIlRDAlQkUlRDElODAlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjAlRDAlQkUlRDElODElRDElODMlRDElODklRDAlQjUlRDElODElRDElODIlRDAlQjIlRDAlQkIlRDElOEYlRDElODIlRDElOEMlRDElODElRDElOEYlMjAlRDElODclRDElODIlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlMjBMREFQJTJDJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUIyJUQxJTgxJUQwJUI1JUQxJTg1JTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJThCJTIwT1RSUy4=

 

Создание пользователя в Active Directory

Создаем пользователя (прим. admin.otrs), снимаем галочку «Требовать смены пароля при следующем входе в систему», выставляем галочки «Запретить смену пароля пользователем», «Срок действия пароля не ограничен». После создания пользователя, в свойствах его, указываем адрес электронной почты.

[stextbox id=’warning’]ВАЖНО: у всех пользователей должен существовать адрес электронной почты. Это обязательное условие для всех пользователей OTRS.[/stextbox]

 

Создаем группу (прим. OTRSagents) и добавляем в нее ранее созданную учетную запись администратора OTRS (admin.otrs).

[stextbox id=’info’]Данная группа будет служить фильтром доступа, на агентурный портал OTRS. Все входящие пользователи в состав этой группы будет иметь доступ, все остальные нет.[/stextbox]

 

Интеграция OTRS с Active Directory

Заходим на агентурный портал OTRS (http://OTRS_Server_IP/otrs/index.pl), авторизовываемся под учетной записью root@localhost.

 

Переходим в Администрирование — Агенты:

 

Редактируем пользователя root@localhost:

 

Изменяем Логин, Пароль, Email на аналогичные данные от ранее созданного пользователя в Active Directory (admin.otrs).

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

# ----------------LDAP-Authenticated-------------- #

$Self->{'DefaultCharset'} = 'utf-8';

# Аутентификация LDAP в Агентурный портал
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';

# Можно задать страницу редиректа в случае авторизации и деавторизации
#$Self->{LoginURL} = 'http://helpdesk/index.pl';
#$Self->{LogoutURL} = 'http://helpdesk/otrs/index.pl?Action=Logout';

$Self->{'AuthModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

# Проверка наличия пользователя в группе OTRS_Agents, для доступа к Агентурному порталу
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthModule::LDAP::Params'} = {
 port => 389,
 timeout => 120,
 async => 0,
 version => 3,
 },

# Синхронизация пользователей из каталога LDAP
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
 UserFirstname => 'givenName',
 UserLastname => 'sn',
 UserEmail => 'mail',
 };
# Синхронизировать пользователей из указанного каталога
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
 'ActiveUsers',
 ];

# Авторизация LDAP в клиентский портал
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';

# Можно задать страницу редиректа в случае авторизации и деавторизации
$Self->{CustomerPanelLoginURL1} = 'http://helpdesk/otrs/customer.pl';
$Self->{CustomerPanelLogoutURL1} = 'http://helpdesk/otrs/customer.pl';

$Self->{'Customer::AuthModule::LDAP::Host'} ='192.168.1.2';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{CustomerUser} = {
 Module => 'Kernel::System::CustomerUser::LDAP',
 Params => {
 Host => '192.168.1.2',
 BaseDN => 'dc=jakonda,dc=local',
 SSCOPE => 'sub',
 UserDN => 'admin.otrs@jakonda.local',
 UserPw => 'Aa1234567',
 AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
 SourceCharset => 'utf-8',
 DestCharset => 'utf-8',
 },

CustomerKey => 'sAMAccountName',
 CustomerID => 'mail',
 CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchPrefix => '',
 CustomerUserSearchSuffix => '*',
 CustomerUserSearchListLimit => 10000,
 CustomerUserPostMasterSearchFields => ['mail'],
 CustomerUserNameFields => ['givenname', 'sn'],
 Map => [
 #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
 [ 'UserFirstname', 'Firstname', 'displayname', 1, 1, 'var' ],
 [ 'UserLastname', 'Lastname', '', 1, 1, 'var' ],
 [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
 [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
 [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
 ],
 };
 # ---------------------------------------------------- #

 

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIyJUQwJUI1JUQwJUIxLSVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCUyMGFwYWNoZSUzQQ==

service apache2 restart

 

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUIwJUQxJTgzJUQxJTgyJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUIyJTIwJUQwJUIwJUQwJUIzJUQwJUI1JUQwJUJEJUQxJTgyJUQxJTgzJUQxJTgwJUQwJUJEJUQwJUJFJUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUI1JTIwKGh0dHAlM0ElMkYlMkZPVFJTX1NlcnZlcl9JUCUyRm90cnMlMkZpbmRleC5wbCklMjAlRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDElOEMlRDElODElRDAlQkElRDAlQkUlRDAlQkMlMjAoaHR0cCUzQSUyRiUyRk9UUlNfU2VydmVyX0lQJTJGb3RycyUyRmN1c3RvbWVyLnBsKS4lMjAlRDAlOTQlRDAlQkIlRDElOEYlMjAlRDAlQjQlRDAlQkUlRDElODElRDElODIlRDElODMlRDAlQkYlRDAlQjAlMjAlRDAlQjIlMjAlRDAlQjAlRDAlQjMlRDAlQjUlRDAlQkQlRDElODIlRDElODMlRDElODAlRDAlQkQlRDElOEIlRDAlQjklMjAlRDAlQkYlRDAlQkUlRDElODAlRDElODIlRDAlQjAlRDAlQkIlMkMlMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDElOEMlMjAlRDAlQjQlRDAlQkUlRDAlQkIlRDAlQjYlRDAlQjUlRDAlQkQlMjAlRDElODElRDAlQkUlRDElODElRDElODIlRDAlQkUlRDElOEYlRDElODIlRDElOEMlMjAlRDAlQjIlMjAlRDAlQjMlRDElODAlRDElODMlRDAlQkYlRDAlQkYlRDAlQjUlQzIlQTBPVFJTYWdlbnRzLg==

 

Агенты создаются в базе OTRS, после первого входа. У созданного агента будут отсутствовать права администратора, для их выдачи нужно авторизоваться под начальным администратором (admin.otrs) и выдать права новому агенту.

 

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQxJTgyJUQxJThGJUQwJUJEJUQxJTgzJUQwJUJCJUQwJUI4JUQxJTgxJUQxJThDJTIwJUQwJUJCJUQwJUI4JTIwJUQxJTgzJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUI4JUQwJUI3JTIwQWN0aXZlJTIwRGlyZWN0b3J5LiUyMCVEMCU5RiVEMCVCNSVEMSU4MCVEMCVCNSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyUyMCVEMCVCMiUyMCVEMCU5MCVEMCVCNCVEMCVCQyVEMCVCOCVEMCVCRCVEMCVCOCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVFMiU4MCU5NCUyMCVEMCVBMyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMCVCMCVEMSU4RiUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMSU4QyUyMCVEMCVCQSVEMCVCQiVEMCVCOCVEMCVCNSVEMCVCRCVEMSU4MiVEMCVCMC4=

 

 

Прозрачная аутентификация SSO (Single Sign On)

JUQwJUEwJUQwJUI1JUQwJUIwJUQwJUJCJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUI3JUQxJTgwJUQwJUIwJUQxJTg3JUQwJUJEJUQwJUJFJUQwJUI5JTJGJUQxJTgxJUQwJUJBJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUJEJUQwJUJFJUQwJUI5JTIwKFNTTyklMjAlRDAlQjAlRDElODMlRDElODIlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQjIlMjBPVFJTJTJDJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUJFJUQxJTgxJUQxJTgzJUQxJTg5JUQwJUI1JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUJCJUQxJThGJUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJUQxJTgxJUQxJTgwJUQwJUI1JUQwJUI0JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUJFJUQwJUJDJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwQXBhY2hlJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5Lg==

 

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQxJTgzJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwU1NPJTIwJUQwJUJEJUQwJUIwJTIwQXBhY2hlJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5JTIwJUQwJUJGJUQwJUJFJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUI5JTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJUQwJUI1LiUyMCVEMCU5RiVEMSU4MCVEMCVCOCUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCOCUyMEtFWVRBQi0lRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjAlMkMlMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDElODMlRDAlQjUlRDAlQkMlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDAlQkQlRDElODMlRDElOEUlMjAlRDElODAlRDAlQjAlRDAlQkQlRDAlQjUlRDAlQjUlMjAlRDElODMlRDElODclRDAlQjUlRDElODIlRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDElOEMlMjAlRDAlQjAlRDAlQjQlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDElODElRDElODIlRDElODAlRDAlQjAlRDElODIlRDAlQkUlRDElODAlRDAlQjAlMjAoYWRtaW4ub3Rycyku

 

Редактируем конфигурационный файл /opt/otrs/Kernel/Config.pm. После строки (# insert your own config settings «here» #) вставляем:

# ----------------SSO-LDAP-Authenticated-------------- #

$Self->{'DefaultCharset'} = 'utf-8';
 
# Аутентификация SSO в Агентурный портал
$Self->{'AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';
$Self->{'AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@JAKONDA.LOCAL';

# Можно задать страницу редиректа в случае авторизации и деавторизации
#$Self->{LoginURL} = 'http://helpdesk/index.pl';
#$Self->{LogoutURL} = 'http://helpdesk/otrs/index.pl?Action=Logout';

$Self->{'AuthModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';

# Проверка наличия пользователя в группе OTRS_Agents, для доступа к Агентурному порталу
$Self->{'AuthModule::LDAP::GroupDN'} = 'cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthModule::LDAP::Params'} = {
 port => 389,
 timeout => 120,
 async => 0,
 version => 3,
 sscope => 'sub'
 },

# Синхронизация пользователей из каталога LDAP
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.1.2';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
 UserFirstname => 'givenName',
 UserLastname => 'sn',
 UserEmail => 'mail',
 };
 # Синхронизировать пользователей из указанного каталога
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
 'ActiveUsers',
 ];

# Авторизация SSO в клиентский портал
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '@JAKONDA.LOCAL';

# Можно задать страницу редиректа в случае авторизации и деавторизации
$Self->{CustomerPanelLoginURL1} = 'http://helpdesk/otrs/customer.pl';
$Self->{CustomerPanelLogoutURL1} = 'http://helpdesk/otrs/customer.pl';

$Self->{'Customer::AuthModule::LDAP::Host'} ='192.168.1.2';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=jakonda,dc=local';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'admin.otrs@jakonda.local';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'Aa1234567';
$Self->{CustomerUser} = {
 Module => 'Kernel::System::CustomerUser::LDAP',
 Params => {
 Host => '192.168.1.2',
 BaseDN => 'dc=jakonda,dc=local',
 SSCOPE => 'sub',
 UserDN => 'admin.otrs@jakonda.local',
 UserPw => 'Aa1234567',
 AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))',
 SourceCharset => 'utf-8',
 DestCharset => 'utf-8',
 },

CustomerKey => 'sAMAccountName',
 CustomerID => 'mail',
 CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
 CustomerUserSearchPrefix => '',
 CustomerUserSearchSuffix => '*',
 CustomerUserSearchListLimit => 10000,
 CustomerUserPostMasterSearchFields => ['mail'],
 CustomerUserNameFields => ['givenname', 'sn'],
 Map => [
 #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
 [ 'UserFirstname', 'Firstname', 'displayname', 1, 1, 'var' ],
 [ 'UserLastname', 'Lastname', '', 1, 1, 'var' ],
 [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
 [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
 [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
 ],
 };
 # ---------------------------------------------------- #

 

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIyJUQwJUI1JUQwJUIxLSVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCUyMGFwYWNoZSUzQQ==

service apache2 restart

 

JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUIwJUQxJTgzJUQxJTgyJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUIyJTIwJUQwJUIwJUQwJUIzJUQwJUI1JUQwJUJEJUQxJTgyJUQxJTgzJUQxJTgwJUQwJUJEJUQwJUJFJUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQxJTgwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUI1JTIwKGh0dHAlM0ElMkYlMkZPVFJTX1NlcnZlcl9JUCUyRm90cnMlMkZpbmRleC5wbCklMjAlRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDElOEMlRDElODElRDAlQkElRDAlQkUlRDAlQkMlMjAoaHR0cCUzQSUyRiUyRk9UUlNfU2VydmVyX0lQJTJGb3RycyUyRmN1c3RvbWVyLnBsKS4lMjAlRDAlOUYlRDElODAlRDAlQjglMjAlRDAlQjIlRDElODUlRDAlQkUlRDAlQjQlRDAlQjUlMjAlRDAlQkQlRDAlQjAlMjAlRDElODIlRDAlQkUlRDElODIlMjAlRDAlQjglRDAlQkIlRDAlQjglMjAlRDAlQjglRDAlQkQlRDAlQkUlRDAlQjklMjAlRDAlQkYlRDAlQkUlRDElODAlRDElODIlRDAlQjAlRDAlQkIlMkMlMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDElOEYlMjAlRDAlQjQlRDAlQkUlRDAlQkIlRDAlQjYlRDAlQkQlRDAlQjAlMjAlRDAlQkYlRDElODAlRDAlQkUlRDAlQjklRDElODIlRDAlQjglMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDAlQkMlRDAlQjAlRDElODIlRDAlQjglRDElODclRDAlQjUlRDElODElRDAlQkElRDAlQjgu

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

Ответ на комментарий ОлегОтмена ответа
14 комментариев
  • Привет тебе из 2024! Спасибо за статью, она оказалось лучше, чем официальная документация в 2024 года. Наконец-то смог подтянуть клиентскую базу.

  • Здравствуйте. Попробовал настроить по вашей инструкции. Синхронизация клиентов по ldap работает, но по ссо без ввода логина пароля не заходят. Раньше с ссо дел не имел вообще и нужно ли дополнительно настраивать групповые политики на АД для браузеров или оно без этого должно работать?

    • Это ответ на комментарий Алексей

      Добрый день,
      Чтобы SSO аутентификации проходила корректно, необходимо добавить веб-сервер в зону местной интрасети. Можете через GPO распространить данную настройку.

  • Здравствуйте. Все отлично работает внутри домена. Появилась необходимость работать из внешки в системе. Но при попытке входа в отрс с телефона, говорит ошибка авторизации. Пытался и с префиксом домена и через @domain.name , везде ошибка авторизации

    • Это ответ на комментарий Дмитрий

      Добрый день! Попробуйте в настройках виртуального сервера добавить KrbLocalUserMapping On к остальным параметрам Kerberos авторизации.

      У меня вот так выглядит настройка Kerberos для виртуального сервера OTRS
      AuthType Kerberos
      AuthName «Kerberos authenticated intranet»
      KrbAuthRealms JAKONDA.LOCAL
      KrbServiceName HTTP/webserver.jakonda.local
      Krb5Keytab /etc/webserver.keytab
      KrbMethodNegotiate On
      KrbMethodK5Passwd On
      KrbSaveCredentials Off
      KrbLocalUserMapping On
      KrbVerifyKDC Off
      Require valid-user

      И авторизация успешно работает. Т.е. в локальной сети при входе на OTRS происходит SSO авторизация, а при внешнем подключении запрашивается логин\пароль и введя доменный логин (без указания домена) и пароль, меня успешно авторизовывает.

  • Всё делал по вашей инструкции, ошибок никаких не выдаёт, а просто не авторизуется не через index, не через customer. В чем может быть проблема?

    • Это ответ на комментарий Антон

      Нашёл ошибку в строке
      $Self->{‘AuthModule::LDAP::GroupDN’} = ‘cn=OTRS_Agents,ou=Users,dc=jakonda,dc=local’;

      Поменял ou=Users на cn=Users и всё заработало.

      Но SSO авторизация для клиентов не пашет, пока ковыряю

      • Это ответ на комментарий Антон

        Никакой ошибки нет, просто в моем случае указано cn=OTRS_Agents — это группа безопасности в которой указаны учетные записи пользователей, которая в свою очередь находится в ou=Users домена dc=jakonda,dc=local.

  • Добрый день.
    Настроена обычная интеграция с LDAP
    «Агенты создаются в базе OTRS, после первого входа.» можно ли как-то создавать агентов до их первого входа, что бы можно было заранее раздать им роли?

  • В access.log: 192.168.1.200 — user@DOMAIN.LOCAL [04/May/2018:16:57:12 +0300]
    «GET /otrs/index.pl HTTP/1.1» 500 1068 «-» «Mozilla/4.0
    (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)»

    • Это ответ на комментарий Дмитрий

      HTTP/1.1» 500 — проверяйте ошибку 500, вероятно все таки что то не так бы делаете, либо в конфигурационном файле прописываете..

  • Доброго времени суток.
    Подскажите, вот такая ошибочка в конце: [Fri May 04 11:43:57.269243 2018] [auth_kerb:error] [pid 21032] [client 192.168.1.200] gss_acquire_cred() failed: Unspecified GSS failure.
    Minor code may provide more information (, Key table file ‘/etc/kerberos.keytab’ not found)
    Или здесь ( Krb5Keytab /etc/kerberos.keytab
    )нужно прописать файл: который был в Вашем случаи: webserver.keytab

      • Это ответ на комментарий Жаконда

        Да, подставил он у меня называется otrs. Проверяю ошибка: [:error] [pid 1633] Attempt to reload Kernel/System/ObjectManager.pm aborted.\nCompilation failed in require at /opt/otrs/bin/cgi-bin/index.pl line 35.\nBEGIN failed—compilation aborted at /opt/otrs/bi$
        $trs/bin/cgi-bin/index.pl line 35.\n