
Такая ситуация:
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. Если данные получены, и в них есть время последнего успешного захода клиента в домен - считаем, что такого пользователя можно пустить
(естественно, при наличии его во внутренней базе пользователей системы ЛЗ).