![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| kosyakLA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
AD & Perl
Возникла задача проводить автоматическую авторизацию пользователя в домене, когда он заходит на страничку... С самой авторизацией разобрался: use Net::LDAP; my $ldap= Net::LDAP->new("*") || die print $!; my $mesg = $ldap->bind("*", password=>"*") || die print $!; print $mesg->error(); Вопрос: как получить пароль и логин для передачи в лдап? чтобы именно автоматом, без всякого ввода... так же интересует как получить какие у пользователя права есть...да и вообще например вывести списки груп и всех пользователей |
|||
|
||||
| afiskon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
А все-таки какую именно задачу вы пытаетесь решить? Мне кажется, что вы делаете что-то не то.
Хм... ну, если IP у клиентов статические, можно завести файлик/табличку IP:login:pass. Аналогично, если клиент уже где-то залогинился, можно вместо IP использовать логин или ID учетной записи. Только будет непросто постоянно поддерживать эти списки в актуальном состоянии.
Начните отсюда: http://search.cpan.org/dist/perl-ldap/ |
||||
|
|||||
| kosyakLA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
Как работать понял...Только проблема с русскими символами при запросах в AD. Вываливается ошибка. Если англ вводишь - всё ок.
|
|||
|
||||
| kosyakLA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
Опять проблемы...Собственно получать данные под администратором домена я научился...но вот косяк...а как проверить, что обычный пользователь ввел верный логин - пароль??
в такой форме: my $ldap_conn= Net::LDAP->new($Settings::Ldap_server) || die print $!; $sort = Net::LDAP::Control::Sort->new(order => "CN"); $ldap_conn->bind("$login", password=>"$password") || die print $!; $base = "net.ru"; $filter = "(&(title=*)(CN=*))"; Encode::from_to($base, 'windows-1251','utf8'); my $results = $ldap_conn->search(base => "$base",filter => "$filter", control => [ $sort ]) || die print $!; print $results->count; $ldap_conn->unbind; $ldap_conn->disconnect(); |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |