Страница 1 из 1

Лига Закон доменная авторизация (Samba + OpenLdap)

Добавлено: 2010-07-28 12:27:55
vitiko007
Всем привет :)

Такая ситуация:
1. Есть комп1 под Windows XP sp2 на котором установлен сервер "Лига Закон" 8.2
2. Есть контроллер домена Samba + OpenLdap, назовем его Domain

Разработчики говорят "что поддержка Unix не реализована и не будет", однако сервер "Лига Закон" без проблем просматривает и видит в сетевом окружении Domain, мало того видит пользователей в нём... и утилитой Менеджер пользователей импортирует.. И получаем учетную запись вида Domain\va.pupkin

Далее...
Заходим на компе2 (данный комп подключен к домену Domain) под доменной учетной записью в винду и пытаемся запустить "Клиент Лига Закон" - выдает окошко авторизации.
И здесь интересная ситуация:
1. если сделать ошибку в логине Domain\va.pupkin - выдаст ошибка имени пользователя
2. если сделать ошибку в пароле Domain\va.pupkin, а саму учетку ввести правильно - выдаст ошибка пароля

У меня такая мысль:
в момент авторизации сервер Лиги учетку хавает... но проблемы с передачей или получением, сверкой пароля...

Вообщем, выручайте :)

Приложения:

Код: Выделить всё

Алгоритм действий Клиента и Сервера системы ЛIГА:ЗАКОН при доменной авторизации:
Действия клиентской части системы ЛЗ при коннекте к серверу ЛЗ.
1. Клиент ЛЗ при старте собирает следующую информацию о себе:
1) имя пользователя, под которым запущен
2) домен пользователя
3) имя домен-контроллера, который авторизовал пользователя
2. При коннекте к серверу клиент прежде всего пытается залогинится, передав серверу информацию из п.1
3. При отрицательном ответе сервера, клиент ЛЗ выдает на экран диалог ввода "Введите логин/пароль..." 
с последующей попыткой коннекта с введенными данными.
4. При отрицательном ответе сервера прерывает выполнение.

Действия сервера ЛЗ при коннекте пользователя ЛЗ.

1. Получив запрос на соединение, сервер проверяет, не начинается ли имя клиента на символы "\\" - это признак
попытки авторизации через доменное имя. 
2. Из присланной строки выделяется имя домен-контроллера, имя домена и имя пользователя.
3. Через системную функцию EnumServers(Domain,SV_TYPE_DOMAIN_CTRL or SV_TYPE_DOMAIN_BAKCTRL,..) производится поиск существующих в 
указанном домене домен-контроллеров (включая бэкап-контроллеры), сверяется, есть ли среди найденных тот, имя которого прислал клиент.
4. При наличии указанного сервера через системную функцию NetUserGetInfo(...Server,...Login...) пытаемся получить информацию о пользователе
5. Если данные получены, и в них есть время последнего успешного захода клиента в домен - считаем, что такого пользователя можно пустить 
(естественно, при наличии его во внутренней базе пользователей системы ЛЗ).

Re: Лига Закон доменная авторизация (Samba + OpenLdap)

Добавлено: 2010-07-28 12:43:26
vitiko007
И еще - из разговора с суппортом выяснил, что "Сервер Лига Закон" работает от имени учетной записи под которой он запущен... например Администратор
В связи с этим такой вопрос: каким образом Лдапу объяснить что учетка Администратор может сравнивать пользователей и пароли???

Может мысля и не верная, поэтому прошу высказывайте своё мнение и возможные пути решения :)

Re: Лига Закон доменная авторизация (Samba + OpenLdap)

Добавлено: 2010-07-28 16:23:45
FreeBSP
не очень шарю в теме, но помоему нормальным решением было бы запускать ЛЗ от имени пользователя в домене, который имеет право собственно на сверку паролей.

PS наверняка глупость сказал =(

Re: Лига Закон доменная авторизация (Samba + OpenLdap)

Добавлено: 2010-07-28 19:57:30
vitiko007
FreeBSP писал(а):не очень шарю в теме, но помоему нормальным решением было бы запускать ЛЗ от имени пользователя в домене, который имеет право собственно на сверку паролей.

PS наверняка глупость сказал =(
Согласен... но как объяснить ЛДАПу что данный пользователь имеет на эту проверку право??? Знаю что вроде бы в конфиге ЛДАПА можно так сделать для любой учетки, назначит любые права к определенному атрибуту или ветке... но как??? пока что не знаю??? :(
У меня конечно же есть рутовая запись для ЛДАПА... но создавать ее на виндовой машине нет желаения... хотелось чтобы была запись типа Administrator, и пускай эта запись и лезет в домен и сверяет пароли...
Вот и вопрос как это сделать???