Эксклюзивная задача с LDAP-серверами и сквозной авторизацией

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
viktor86
OTRS Новобранец
Сообщения: 4
Зарегистрирован: 31 июл 2012, 16:10

Эксклюзивная задача с LDAP-серверами и сквозной авторизацией

Сообщение viktor86 » 10 сен 2012, 11:08

Здравствуйте. Очень долго уже мучаюсь с данной проблемой. Буду очень признателен если кто-нибудь даст совет.

У меня есть несколько доменов такой вот структуры:
victor.ru(главный)
ad1.victor.ru (поддомен на основе доверительных отношений)
ad2.victor.ru (поддомен на основе доверительных отношений)
ad3.victor.ru (поддомен на основе доверительных отношений)
ad4.victor.ru (поддомен на основе доверительных отношений)

Мне удалось сделать прозрачную авторизацию только на одном из них victor.ru. Остальные просто отказываются работать с любыми параметрами и настройками, при том что список самих клиентов они успешно загружают. В итоге клиенты c victor.ru спокойно заходят на страницу 192.168.1.15/otrs/customer.pl и создают тикеты, когда как другие например с ad3.victor.ru не могут зайти на страницу 192.168.1.15/otrs/customer.pl, а на 192.168.1.15/otrs/index.pl пускает.
Вот модули авторизации которые я использую в примере для двух доменов victor.ru и ad1.victor.ru
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'CustomerPanelLoginURL'} = 'http://192.168.1.15/otrs/customer.pl';
$Self->{'CustomerPanelLogoutURL'} = 'http://192.168.1.15/otrs/customer.pl';
$Self->{'Customer2::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
$Self->{'CustomerPanelLoginURL'} = 'http://192.168.1.15/otrs/customer.pl';
$Self->{'CustomerPanelLogoutURL'} = 'http://192.168.1.15/otrs/customer.pl';
Конфиг стандартный.
Очень прошу помогите с данной проблемой. Уже не знаю что сделать. Так хочется внедрить её в работу.

ваяс
OTRS Новобранец
Сообщения: 54
Зарегистрирован: 12 май 2012, 15:23

Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза

Сообщение ваяс » 10 сен 2012, 14:12

viktor86 писал(а): $Self->{'Customer2::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
Я думаю что так писать нельзя, я конечно не силен в perl. Если представить что это php то так конечно писать нельзя, но примерно это будет означать следующее. Здесь вызывается объект класса Customer2 и у него вызывается метод AuthModule в который в качестве параметра передается тип подключения. Соответсвенно класса Customer2 у вас я больше чем уверен нет, от сюда вывод параметры подключения должны быть универсальными.
Т.е. при авторизации методом гет или пост отправлять данные в этот конфиг, а в нем их уже принимать. Но это лишь примерный намек, возможно тут все гораздо проще. Или спросите на каких нибудь форумах по perl что означают подобные конструкции $Self->{'Customer2::AuthModule'}

Trv
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 07 мар 2012, 12:29

Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза

Сообщение Trv » 11 сен 2012, 10:10

Я прикрутил сквозную авторизацию из двух разных доменов.

$Self->{'Customer::AuthModule1'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host1'} ='ldap://xxxx.xxxxxx.xxx;
$Self->{'Customer::AuthModule::LDAP::BaseDN1'} = 'DC=xxxxx,DC=xxxxxx,DC=xxx;
$Self->{'Customer::AuthModule::LDAP::UID1'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN1'} = 'robot@xxxx.xxxxxx.xxx;
$Self->{'Customer::AuthModule::LDAP::SearchUserPw1'} = 'password';
$Self->{'Customer::AuthModule::LDAP::Charset1'} = 'utf-8';
$Self->{'Customer::AuthModule::LDAP::SourceCharset1'} = 'utf-8';
$Self->{'Customer::AuthModule::LDAP::DestCharset1'} = 'utf-8';


$Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host2'} ='ldap://yyyyy.yyy.yyy;
$Self->{'Customer::AuthModule::LDAP::BaseDN2'} = 'DC=yyy,DC=yyy,DC=yyy;
$Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = 'robot2@yyyyy.yyy.yyy;
$Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = 'password';
$Self->{'Customer::AuthModule::LDAP::Charset2'} = 'utf-8';
$Self->{'Customer::AuthModule::LDAP::SourceCharset2'} = 'utf-8';
$Self->{'Customer::AuthModule::LDAP::DestCharset2'} = 'utf-8';

# Сквозная авторизация для пользователей
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '.+\\\\';

Обратите внимание на строчку $Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '.+\\\\';
Она убирает имя домена из учетной записи.

viktor86
OTRS Новобранец
Сообщения: 4
Зарегистрирован: 31 июл 2012, 16:10

Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза

Сообщение viktor86 » 13 сен 2012, 10:39

Спасибо большое Trv!!!!!!!!!!!!!!!!!! :)

$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '.+\\\\';
Вот этой строчки мне очень не хватало. Спасибо ещё раз огромноееееееее

Ответить