Re: Авторизация в NT domain
От: Alex Fedotov США  
Дата: 24.12.01 08:18
Оценка: 5 (2)
Здравствуйте Виктор Петруха, Вы писали:

ВП>Есть ли в к.-л. API функция для авторизации в NT домене? Т.е. на входе login и пароль, на выходе — какое-нибудь BOOL (принято/не принято)


Все, следующий Q&A будет про это.

1. C помощью LogonUser, которая, однако, вплоть до Windows 2000 требует SeTcbPrivilege, которая, однако, по умолчанию есть только в LocalSystem account и давать ее другим аккаунтам крайне не рекомендуется (особенно, если не вполне понимаешь, что делаешь).

2. С помощью SSPI, смотри

Q180548 HOWTO: Validate User Credentials on Microsoft WinNT and Win95
http://support.microsoft.com/support/kb/articles/Q180/5/48.asp

3. Ламерский способ: NetUserChangePassword с совпадающим новым и старым паролем. Ламерский, потому что может не работать, если пользователю запрещено изменять пароль, если политика безопасности запрещает использование повторных паролей, потому что медленная и потенциально вызывает лишние циклы репликации в домене, потому что генерирует совсем не те сообщения в аудите, которые должна генерировать аутентификация.
-- Alex Fedotov
Авторизация в NT domain
От: Виктор Петруха  
Дата: 24.12.01 07:35
Оценка:
Есть ли в к.-л. API функция для авторизации в NT домене? Т.е. на входе login и пароль, на выходе — какое-нибудь BOOL (принято/не принято)
Re[2]: Авторизация в NT domain
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.12.01 00:20
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

AF>Все, следующий Q&A будет про это.


Гы-гы. Все равно перед тем как его прочесть суда вопрос зададут. Не пользоваться же поиско в конце то концов.

AF>1. C помощью LogonUser, которая, однако, вплоть до Windows 2000 требует SeTcbPrivilege, которая, однако, по умолчанию есть только в LocalSystem account и давать ее другим аккаунтам крайне не рекомендуется (особенно, если не вполне понимаешь, что делаешь).


Это он пугает. Привилегия конечно крутая, но если использовать ее только для запуска сервера (сарвиса или DCOM/COM+-объекта) то сойдет.

Есть и еще один полуламерский способ... под W2k можно пытаться запустить процесс с помощью CreateProcessWithLogonW (W — обязательна). Данная феня работает через RanAs-сервис который запускается по системной записью и имеет вышеупомянутую привилегию. Но лучше всего создать сервис или DCOM-объект который будет проверять лигин как говорил Alex Fedotov.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Авторизация в NT domain
От: Swaggy  
Дата: 27.12.01 09:22
Оценка:
Здравствуйте Alex Fedotov,

Спасибо!

Собственно, я хочу сделать COM-сервер для авторизации в NT из WEB-скриптов, в частности, из PHP. Похоже, что нужно еще сделать и DCOM-сервер и посадить его на контроллер домена или BDC.
Re[3]: Авторизация в NT domain
От: Alex Fedotov США  
Дата: 27.12.01 16:45
Оценка:
Здравствуйте Swaggy, Вы писали:

S>Собственно, я хочу сделать COM-сервер для авторизации в NT из WEB-скриптов, в частности, из PHP. Похоже, что нужно еще сделать и DCOM-сервер и посадить его на контроллер домена или BDC.


Зачем? Оба медота прекрасно работают с локальной машины, причем для SSPI не нужно никаких дополнительных привилений, так что в этом случае можно обойтись одним in-process COM-сервером. Для LogonUser придется сделать службу в LocalSystem.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.