Здравствуйте. Очень долго уже мучаюсь с данной проблемой. Буду очень признателен если кто-нибудь даст совет.
У меня есть несколько доменов такой вот структуры:
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';
Конфиг стандартный.
Очень прошу помогите с данной проблемой. Уже не знаю что сделать. Так хочется внедрить её в работу.
Эксклюзивная задача с LDAP-серверами и сквозной авторизацией
Модератор: ykolesnikov
Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза
Я думаю что так писать нельзя, я конечно не силен в perl. Если представить что это php то так конечно писать нельзя, но примерно это будет означать следующее. Здесь вызывается объект класса Customer2 и у него вызывается метод AuthModule в который в качестве параметра передается тип подключения. Соответсвенно класса Customer2 у вас я больше чем уверен нет, от сюда вывод параметры подключения должны быть универсальными.viktor86 писал(а): $Self->{'Customer2::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth';
Т.е. при авторизации методом гет или пост отправлять данные в этот конфиг, а в нем их уже принимать. Но это лишь примерный намек, возможно тут все гораздо проще. Или спросите на каких нибудь форумах по perl что означают подобные конструкции $Self->{'Customer2::AuthModule'}
Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза
Я прикрутил сквозную авторизацию из двух разных доменов.
$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'} = '.+\\\\';
Она убирает имя домена из учетной записи.
$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'} = '.+\\\\';
Она убирает имя домена из учетной записи.
Re: Эксклюзивная задача с LDAP-серверами и сквозной авториза
Спасибо большое Trv!!!!!!!!!!!!!!!!!!
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '.+\\\\';
Вот этой строчки мне очень не хватало. Спасибо ещё раз огромноееееееее
$Self->{'Customer::AuthModule::HTTPBasicAuth::ReplaceRegExp'} = '.+\\\\';
Вот этой строчки мне очень не хватало. Спасибо ещё раз огромноееееееее