Есть ли в к.-л. API функция для авторизации в NT домене? Т.е. на входе login и пароль, на выходе — какое-нибудь BOOL (принято/не принято)
Здравствуйте Виктор Петруха, Вы писали:
ВП>Есть ли в к.-л. 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, Вы писали:
AF>Все, следующий Q&A будет про это.
Гы-гы. Все равно перед тем как его прочесть суда вопрос зададут.

Не пользоваться же поиско в конце то концов.
AF>1. C помощью LogonUser, которая, однако, вплоть до Windows 2000 требует SeTcbPrivilege, которая, однако, по умолчанию есть только в LocalSystem account и давать ее другим аккаунтам крайне не рекомендуется (особенно, если не вполне понимаешь, что делаешь).
Это он пугает. Привилегия конечно крутая, но если использовать ее только для запуска сервера (сарвиса или DCOM/COM+-объекта) то сойдет.
Есть и еще один полуламерский способ... под W2k можно пытаться запустить процесс с помощью CreateProcessWithLogonW (W — обязательна). Данная феня работает через RanAs-сервис который запускается по системной записью и имеет вышеупомянутую привилегию. Но лучше всего создать сервис или DCOM-объект который будет проверять лигин как говорил Alex Fedotov.