Интеграция OTRS 6.0.5 (Open-source Ticket Request System) с Active Directory. Настройка прозрачной аутентификации SSO (Single Sign On).
Разберем как интегрировать OTRS с Active Directory. Рассмотрим два варианта аутентификации, обычная и прозрачная (SSO).
JUQwJTk4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTNB
- Развернутая система OTRS 6.0.5 (по этой статье)
- Домен контроллер Windows Server 2012 R2 (JAKONDA.LOCAL)
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUI4JUQwJUJEJUQxJTgyJUQwJUI1JUQwJUIzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwT1RSUyUyMCVEMSU4MSVDMiVBMEFjdGl2ZSUyMERpcmVjdG9yeSUyQyUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMCVCRSUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4RiUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCOSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMCVCMiVEMSU4QiVEMSU4MSVEMSU4MiVEMSU4MyVEMCVCRiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMCVCMCVEMCVCNCVEMCVCQyVEMCVCOCVEMCVCRCVEMCVCOCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCMCVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCRSVEMCVCQyUyME9UUlMlMjAlRDAlQjglMjAlRDElODElMjAlRDAlQkYlRDAlQkUlRDAlQkMlRDAlQkUlRDElODklRDElOEMlRDElOEUlMjAlRDAlQkElRDAlQkUlRDElODIlRDAlQkUlRDElODAlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjAlRDAlQkUlRDElODElRDElODMlRDElODklRDAlQjUlRDElODElRDElODIlRDAlQjIlRDAlQkIlRDElOEYlRDElODIlRDElOEMlRDElODElRDElOEYlMjAlRDElODclRDElODIlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlMjBMREFQJTJDJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUIyJUQxJTgxJUQwJUI1JUQxJTg1JTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJThCJTIwT1RSUy4=
Создание пользователя в Active Directory
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThGJTIwKCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCQy4lMjBhZG1pbi5vdHJzKSUyQyUyMCVEMSU4MSVEMCVCRCVEMCVCOCVEMCVCQyVEMCVCMCVEMCVCNSVEMCVCQyUyMCVEMCVCMyVEMCVCMCVEMCVCQiVEMCVCRSVEMSU4NyVEMCVCQSVEMSU4MyUyMCVDMiVBQiVEMCVBMiVEMSU4MCVEMCVCNSVEMCVCMSVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCQyVEMCVCNSVEMCVCRCVEMSU4QiUyMCVEMCVCRiVEMCVCMCVEMSU4MCVEMCVCRSVEMCVCQiVEMSU4RiUyMCVEMCVCRiVEMSU4MCVEMCVCOCUyMCVEMSU4MSVEMCVCQiVEMCVCNSVEMCVCNCVEMSU4MyVEMSU4RSVEMSU4OSVEMCVCNSVEMCVCQyUyMCVEMCVCMiVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCNSUyMCVEMCVCMiUyMCVEMSU4MSVEMCVCOCVEMSU4MSVEMSU4MiVEMCVCNSVEMCVCQyVEMSU4MyVDMiVCQiUyQyUyMCVEMCVCMiVEMSU4QiVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCMiVEMCVCQiVEMSU4RiVEMCVCNSVEMCVCQyUyMCVEMCVCMyVEMCVCMCVEMCVCQiVEMCVCRSVEMSU4NyVEMCVCQSVEMCVCOCUyMCVDMiVBQiVEMCU5NyVEMCVCMCVEMCVCRiVEMSU4MCVEMCVCNSVEMSU4MiVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCQyVEMCVCNSVEMCVCRCVEMSU4MyUyMCVEMCVCRiVEMCVCMCVEMSU4MCVEMCVCRSVEMCVCQiVEMSU4RiUyMCVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMCVCNSVEMCVCQyVDMiVCQiUyQyUyMCVDMiVBQiVEMCVBMSVEMSU4MCVEMCVCRSVEMCVCQSUyMCVEMCVCNCVEMCVCNSVEMCVCOSVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCOCVEMSU4RiUyMCVEMCVCRiVEMCVCMCVEMSU4MCVEMCVCRSVEMCVCQiVEMSU4RiUyMCVEMCVCRCVEMCVCNSUyMCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4NyVEMCVCNSVEMCVCRCVDMiVCQi4lMjAlRDAlOUYlRDAlQkUlRDElODElRDAlQkIlRDAlQjUlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlMjAlRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDAlQjUlRDAlQkIlRDElOEYlMkMlMjAlRDAlQjIlMjAlRDElODElRDAlQjIlRDAlQkUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjAlRDElODUlMjAlRDAlQjUlRDAlQjMlRDAlQkUlMkMlMjAlRDElODMlRDAlQkElRDAlQjAlRDAlQjclRDElOEIlRDAlQjIlRDAlQjAlRDAlQjUlRDAlQkMlMjAlRDAlQjAlRDAlQjQlRDElODAlRDAlQjUlRDElODElMjAlRDElOEQlRDAlQkIlRDAlQjUlRDAlQkElRDElODIlRDElODAlRDAlQkUlRDAlQkQlRDAlQkQlRDAlQkUlRDAlQjklMjAlRDAlQkYlRDAlQkUlRDElODclRDElODIlRDElOEIu
![]() |
![]() |
[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.
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwJUQwJTkwJUQwJUI0JUQwJUJDJUQwJUI4JUQwJUJEJUQwJUI4JUQxJTgxJUQxJTgyJUQxJTgwJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUUyJTgwJTk0JTIwJUQwJTkwJUQwJUIzJUQwJUI1JUQwJUJEJUQxJTgyJUQxJThCJTNB
Редактируем пользователя root@localhost:
Изменяем Логин, Пароль, Email на аналогичные данные от ранее созданного пользователя в Active Directory (admin.otrs).
JUQwJUEwJUQwJUI1JUQwJUI0JUQwJUIwJUQwJUJBJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUJFJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGb3B0JTJGb3RycyUyRktlcm5lbCUyRkNvbmZpZy5wbS4lMjAlRDAlOUYlRDAlQkUlRDElODElRDAlQkIlRDAlQjUlMjAlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQkElRDAlQjglMjAoJTIzJTIwaW5zZXJ0JTIweW91ciUyMG93biUyMGNvbmZpZyUyMHNldHRpbmdzJTIwJUMyJUFCaGVyZSVDMiVCQiUyMCUyMyklMjAlRDAlQjIlRDElODElRDElODIlRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDAlQjUlRDAlQkMlM0E=
# ----------------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==
JUQwJTkwJUQwJUIzJUQwJUI1JUQwJUJEJUQxJTgyJUQxJThCJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQxJThFJUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUIyJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQwJUI1JTIwT1RSUyUyQyUyMCVEMCVCRiVEMCVCRSVEMSU4MSVEMCVCQiVEMCVCNSUyMCVEMCVCRiVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCMiVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCMC4lMjAlRDAlQTMlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDAlQkQlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDAlQjAlRDAlQjMlRDAlQjUlRDAlQkQlRDElODIlRDAlQjAlMjAlRDAlQjElRDElODMlRDAlQjQlRDElODMlRDElODIlMjAlRDAlQkUlRDElODIlRDElODElRDElODMlRDElODIlRDElODElRDElODIlRDAlQjIlRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjAlMjAlRDAlQjAlRDAlQjQlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDElODElRDElODIlRDElODAlRDAlQjAlRDElODIlRDAlQkUlRDElODAlRDAlQjAlMkMlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjglRDElODUlMjAlRDAlQjIlRDElOEIlRDAlQjQlRDAlQjAlRDElODclRDAlQjglMjAlRDAlQkQlRDElODMlRDAlQjYlRDAlQkQlRDAlQkUlMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlRDElODElRDElOEYlMjAlRDAlQkYlRDAlQkUlRDAlQjQlMjAlRDAlQkQlRDAlQjAlRDElODclRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjAlRDAlQjQlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDElODElRDElODIlRDElODAlRDAlQjAlRDElODIlRDAlQkUlRDElODAlRDAlQkUlRDAlQkMlMjAoYWRtaW4ub3RycyklMjAlRDAlQjglMjAlRDAlQjIlRDElOEIlRDAlQjQlRDAlQjAlRDElODIlRDElOEMlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjAlMjAlRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkUlRDAlQkMlRDElODMlMjAlRDAlQjAlRDAlQjMlRDAlQjUlRDAlQkQlRDElODIlRDElODMu
JUQwJTlGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQxJTgyJUQxJThGJUQwJUJEJUQxJTgzJUQwJUJCJUQwJUI4JUQxJTgxJUQxJThDJTIwJUQwJUJCJUQwJUI4JTIwJUQxJTgzJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4JTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQwJUI1JUQwJUI5JTIwJUQwJUI4JUQwJUI3JTIwQWN0aXZlJTIwRGlyZWN0b3J5LiUyMCVEMCU5RiVEMCVCNSVEMSU4MCVEMCVCNSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyUyMCVEMCVCMiUyMCVEMCU5MCVEMCVCNCVEMCVCQyVEMCVCOCVEMCVCRCVEMCVCOCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMCVFMiU4MCU5NCUyMCVEMCVBMyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMCVCMCVEMSU4RiUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMSU4QyUyMCVEMCVCQSVEMCVCQiVEMCVCOCVEMCVCNSVEMCVCRCVEMSU4MiVEMCVCMC4=
Прозрачная аутентификация SSO (Single Sign On)
JUQwJUEwJUQwJUI1JUQwJUIwJUQwJUJCJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUI3JUQxJTgwJUQwJUIwJUQxJTg3JUQwJUJEJUQwJUJFJUQwJUI5JTJGJUQxJTgxJUQwJUJBJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUJEJUQwJUJFJUQwJUI5JTIwKFNTTyklMjAlRDAlQjAlRDElODMlRDElODIlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQjIlMjBPVFJTJTJDJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUJFJUQxJTgxJUQxJTgzJUQxJTg5JUQwJUI1JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUJCJUQxJThGJUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJUQxJTgxJUQxJTgwJUQwJUI1JUQwJUI0JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUJFJUQwJUJDJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwQXBhY2hlJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5Lg==
JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQxJTgzJTIwJUQwJUIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwU1NPJTIwJUQwJUJEJUQwJUIwJTIwQXBhY2hlJTIwJUQwJUIyJTIwQWN0aXZlJTIwRGlyZWN0b3J5JTIwJUQwJUJGJUQwJUJFJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUI5JTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgyJUQxJThDJUQwJUI1LiUyMCVEMCU5RiVEMSU4MCVEMCVCOCUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCOCUyMEtFWVRBQi0lRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjAlMkMlMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDElODMlRDAlQjUlRDAlQkMlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDAlQkQlRDElODMlRDElOEUlMjAlRDElODAlRDAlQjAlRDAlQkQlRDAlQjUlRDAlQjUlMjAlRDElODMlRDElODclRDAlQjUlRDElODIlRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDElOEMlMjAlRDAlQjAlRDAlQjQlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDElODElRDElODIlRDElODAlRDAlQjAlRDElODIlRDAlQkUlRDElODAlRDAlQjAlMjAoYWRtaW4ub3Rycyku
JUQwJUEwJUQwJUI1JUQwJUI0JUQwJUIwJUQwJUJBJUQxJTgyJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUJFJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGb3B0JTJGb3RycyUyRktlcm5lbCUyRkNvbmZpZy5wbS4lMjAlRDAlOUYlRDAlQkUlRDElODElRDAlQkIlRDAlQjUlMjAlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQkElRDAlQjglMjAoJTIzJTIwaW5zZXJ0JTIweW91ciUyMG93biUyMGNvbmZpZyUyMHNldHRpbmdzJTIwJUMyJUFCaGVyZSVDMiVCQiUyMCUyMyklMjAlRDAlQjIlRDElODElRDElODIlRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDAlQjUlRDAlQkMlM0E=
# ----------------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
Проверяем аутентификацию доменных пользователей в агентурном портале (http://OTRS_Server_IP/otrs/index.pl) и пользовательском (http://OTRS_Server_IP/otrs/customer.pl). При входе на тот или иной портал, авторизация должна пройти автоматически.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Привет тебе из 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
А вы сгенерировали 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