Авторизация в index.pl через AD.
Модератор: ykolesnikov
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Авторизация в index.pl через AD.
Здравствуйте. Я добавил авторизацию через LDAP.
В customer.pl пускает, а в index.pl нет.
- По сей видимости, что и верно, иначе все бы подряд туда могли авторизовываться.
Как туда добавить админа из LDAP?
В customer.pl пускает, а в index.pl нет.
- По сей видимости, что и верно, иначе все бы подряд туда могли авторизовываться.
Как туда добавить админа из LDAP?
-
- OTRS Мастер
- Сообщения: 507
- Зарегистрирован: 22 апр 2015, 06:45
- Откуда: Томск
- Благодарил (а): 7 раз
- Поблагодарили: 45 раз
Re: Авторизация в index.pl через AD.
Авторизация агентов через LDAP настраивается в том же config.pm. Отфильтровывается через группу.
Но если их немного, лучше (проще) вести отдельно в локальной бд через админку.
Но если их немного, лучше (проще) вести отдельно в локальной бд через админку.
--
OTRS 6.0.22
OTRS 6.0.22
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
paver, Благодарю. Можете подсказать, почему не могу авторизоваться под доменной учеткой? ?
Сейчас это не работает. Как правильно сформировать нужный код?
Код: Выделить всё
# ---------------------------------------------------- #
# insert your own config settings "here" #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'corp.mettem-m.ru';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=OTRS_Admin,OU=PRK-A,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Service,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'пассворд';
$Self->{'AuthModule::LDAP::AlwaysFilter'} = '';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};
Сейчас это не работает. Как правильно сформировать нужный код?
-
- OTRS Гуру
- Сообщения: 5199
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Авторизация в index.pl через AD.
В чём это выражается? Что в логах, какие ошибки?
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Мастер
- Сообщения: 507
- Зарегистрирован: 22 апр 2015, 06:45
- Откуда: Томск
- Благодарил (а): 7 раз
- Поблагодарили: 45 раз
Re: Авторизация в index.pl через AD.
Подозреваю, что у вас осталась также авторизация через локальную бд.
Если в конфигах более одного варианта авторизации, из следует нумеровать. Ну, типа:
$Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
...
$Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host2'} = 'corp.mettem-m.ru';
...
Если в конфигах более одного варианта авторизации, из следует нумеровать. Ну, типа:
$Self->{'AuthModule1'} = 'Kernel::System::Auth::DB';
...
$Self->{'AuthModule2'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host2'} = 'corp.mettem-m.ru';
...
--
OTRS 6.0.22
OTRS 6.0.22
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
alexus, а как посмотреть логи ? Точней какой файл ?
paver, я понимаю, что у меня локальная авторизация есть, но я по Вашему примеру такого в конфиге не вижу.
paver, я понимаю, что у меня локальная авторизация есть, но я по Вашему примеру такого в конфиге не вижу.
Код: Выделить всё
root@otrs:/var/log# cat /opt/otrs/Kernel/Config.pm
# --
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --
# Note:
#
# -->> Most OTRS configuration should be done via the OTRS web interface
# and the SysConfig. Only for some configuration, such as database
# credentials and customer data source changes, you should edit this
# file. For changes do customer data sources you can copy the definitions
# from Kernel/Config/Defaults.pm and paste them in this file.
# Config.pm will not be overwritten when updating OTRS.
# --
package Kernel::Config;
use strict;
use warnings;
use utf8;
sub Load {
my $Self = shift;
# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
# The database host
$Self->{'DatabaseHost'} = '127.0.0.1';
# The database name
$Self->{'Database'} = "otrs";
# The database user
$Self->{'DatabaseUser'} = "otrs";
# The password of database user. You also can use bin/otrs.Console.pl Maint::Database::PasswordCrypt
# for crypted passwords
$Self->{'DatabasePw'} = 'gytKiMH4gz1yZsnw';
# The database DSN for MySQL ==> more: "perldoc DBD::mysql"
$Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";
# The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg"
# if you want to use a local socket connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
# if you want to use a TCP/IP connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
# The database DSN for Microsoft SQL Server - only supported if OTRS is
# installed on Windows as well
# $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";
# The database DSN for Oracle ==> more: "perldoc DBD::oracle"
# $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}";
#
# $ENV{ORACLE_HOME} = '/path/to/your/oracle';
# $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS';
# $ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8';
# ---------------------------------------------------- #
# fs root directory
# ---------------------------------------------------- #
$Self->{Home} = '/opt/otrs';
# ---------------------------------------------------- #
# insert your own config settings "here" #
# Enable LDAP Authentication Sync for Agent #
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'DC0.corp.mettem-m.ru';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Service,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'Ot@xxxx';
# Enable Agent Mapping from LDAP to DB #
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'DisplayName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'DC0.corp.mettem-m.ru';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Service,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'Ot@xxxx';
# config settings taken from Kernel/Config/Defaults.pm #
# ---------------------------------------------------- #
# $Self->{SessionUseCookie} = 0;
# $Self->{CheckMXRecord} = 0;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
# $DIBI$
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# end of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
return 1;
}
# ---------------------------------------------------- #
# needed system stuff (don't edit this) #
# ---------------------------------------------------- #
use Kernel::Config::Defaults; # import Translatable()
use parent qw(Kernel::Config::Defaults);
# -----------------------------------------------------#
1;
-
- OTRS Мастер
- Сообщения: 507
- Зарегистрирован: 22 апр 2015, 06:45
- Откуда: Томск
- Благодарил (а): 7 раз
- Поблагодарили: 45 раз
Re: Авторизация в index.pl через AD.
Все варианты авторизаций прописаны в otrs/Kernel/Config/Defaults.pm (который изменять строго не рекомедуется).
Если нужно поменять какой-либо параметр - копируйте его в Config.pm и там правьте, он перекроет дефолтное значение.
Если какой-то параметр используется дважды и более - нумеруйте.
Авторизацию агентов по лдап не использую, возможно ошибки связаны с синхронизацией или маппингом лдап и дб.
Мой пример авторизации кастомеров в двух разных бэкэндах (у меня 2 разных каталога)
По аналогии нужно настраивать и два типа авторизации агентов.
Если нужно поменять какой-либо параметр - копируйте его в Config.pm и там правьте, он перекроет дефолтное значение.
Если какой-то параметр используется дважды и более - нумеруйте.
Авторизацию агентов по лдап не использую, возможно ошибки связаны с синхронизацией или маппингом лдап и дб.
Мой пример авторизации кастомеров в двух разных бэкэндах (у меня 2 разных каталога)
Код: Выделить всё
$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host1'} = '...';
$Self->{'Customer::AuthModule::LDAP::BaseDN1'} = '...';
$Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = '...';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = '...';
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter1'} = '(memberOf=CN=...)';
$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host2'} = '...';
$Self->{'Customer::AuthModule::LDAP::BaseDN2'} = '...';
$Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = '...';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = '...';
--
OTRS 6.0.22
OTRS 6.0.22
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
Костумеры у меня по LDAP спокойно авторизовываются. С Агентами беда. Я попробую посмотреть конфиг как Вы сказали.
Можете подсказать, какие логи мне смотреть ? Я в линуксе пока не силен.
Можете подсказать, какие логи мне смотреть ? Я в линуксе пока не силен.
-
- OTRS Мастер
- Сообщения: 507
- Зарегистрирован: 22 апр 2015, 06:45
- Откуда: Томск
- Благодарил (а): 7 раз
- Поблагодарили: 45 раз
Re: Авторизация в index.pl через AD.
Для авторизации клиентов свои параметры, с агентами не пересекаются, вот и нет проблем. Если бы использовали дополнительно второй бэкэнд (еще лдап или локальную базу), пришлось бы дублировать и нумеровать.
По логам не подскажу.
А в локальной базе агенты есть? Нормально авторизуются?
По логам не подскажу.
А в локальной базе агенты есть? Нормально авторизуются?
--
OTRS 6.0.22
OTRS 6.0.22
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
Да, с локальной всё в порядке, но без кода выше. С ним ни кто не может авторизоваться.
-
- OTRS Гуру
- Сообщения: 5199
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Авторизация в index.pl через AD.
В системном журнале OTRS что? https://doc.otrs.com/doc/manual/admin/6 ... 6.2.20.3.1Andrei9385 писал(а): ↑22 янв 2020, 14:47Да, с локальной всё в порядке, но без кода выше. С ним ни кто не может авторизоваться.
Что в логе апача?
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
Аутентификация успешна, однако ни одной записи для клиента не обнаружено в используемой/ых базе клиентов. Обратитесь к вашему администратору.
В логе OTRS объект: OTRS-CGI-43, состояние: No UserID found for
Можете подсказать про апач, какой лог смотреть ?
В логе OTRS объект: OTRS-CGI-43, состояние: No UserID found for
Можете подсказать про апач, какой лог смотреть ?
-
- OTRS Гуру
- Сообщения: 5199
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Авторизация в index.pl через AD.
Надо смотреть на логин клиента, под которым прошла авторизация, и проверять, если в бекенде пользователь с таким логином. Сейчас, исходя из этого сообщения видно, что авторизовался пользователь, например, как Vasya.Pupkin, а в бекенде он может быть как Vasya.Pupkin@domain.com. И логично, что по переданному от сервера авторизации логину Vasya.Pupkin в бекенде такой пользователь отсутствует. Ну или фильтры в бекенде настроены так, что клиент, например, в другой OUAndrei9385 писал(а): ↑23 янв 2020, 13:40Аутентификация успешна, однако ни одной записи для клиента не обнаружено в используемой/ых базе клиентов. Обратитесь к вашему администратору.
В логе OTRS объект: OTRS-CGI-43, состояние: No UserID found for
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
Вот щас получилось авторизоваться доменной учеткой без суффикса домена.
Код: Выделить всё
# Enable LDAP Authentication Sync for Agent #
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'corp.mettem-m.ru';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Service,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '';
# Enable Agent Mapping from LDAP to DB #
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'corp.mettem-m.ru';
$Self->{'AuthModule::LDAP::BaseDN'} = 'DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Service,DC=corp,DC=mettem-m,DC=ru';
$Self->{'AuthModule::LDAP::SearchUserPw'} = '';
-
- OTRS Гуру
- Сообщения: 5199
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Авторизация в index.pl через AD.
Т.е. я первого примера угадалAndrei9385 писал(а): ↑23 янв 2020, 15:20Вот щас получилось авторизоваться доменной учеткой без суффикса домена.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 08 янв 2020, 22:14
- Благодарил (а): 6 раз
Re: Авторизация в index.pl через AD.
Ну не знаю, до этого не получалось. И с суффиксом пробовал и без. Просто если сравнить код, у меня вначале за авторизацию отвечает AuthSyncModule, а за мапинг в БД AuthModule, последний код с AuthSyncModule заработал.alexus писал(а): ↑23 янв 2020, 15:22Т.е. я первого примера угадалAndrei9385 писал(а): ↑23 янв 2020, 15:20Вот щас получилось авторизоваться доменной учеткой без суффикса домена.
Если я верно понял, AuthSyncModule в отличии от AuthModule всё как-то автоматически что ли делает..?
Но следующий вопрос, я для теста создавал учетку именем идентичную как в Active Directory и теперь даже с LDAP, авторизация идет локально.
Как я понял, OTRS не позволяет удалять учетные записи. Я могу перекрыть вход локальным? Если да, то как ?