Добрый день!
Кто-нить может объяснить как сделать так, чтобы при аутентификации пользователя, попросив его ввести имя и пароль предать их приложению по протоколу NTLM или Kerberos (Платформа Win2000). А затем само приложение передало их контроллеру домена на подтверждение? Т.е. сделать а-ля "Интегрированную аутентификацию" только вместо автоматического входа пользователь должен будет ввести свои идентификаторы в домене.
Здравствуйте, ozit, Вы писали:
O>Добрый день! O>Кто-нить может объяснить как сделать так, чтобы при аутентификации пользователя, попросив его ввести имя и пароль предать их приложению по протоколу NTLM или Kerberos (Платформа Win2000). А затем само приложение передало их контроллеру домена на подтверждение? Т.е. сделать а-ля "Интегрированную аутентификацию" только вместо автоматического входа пользователь должен будет ввести свои идентификаторы в домене.
LogonUser/LsaLogonUser не устроят? Но для этого нужно обладать привилегией TCB на локальном компьютере.
Здравствуйте, SergH, Вы писали:
SH>Здравствуйте, ozit, Вы писали:
O>>Добрый день! O>>Кто-нить может объяснить как сделать так, чтобы при аутентификации пользователя, попросив его ввести имя и пароль предать их приложению по протоколу NTLM или Kerberos (Платформа Win2000). А затем само приложение передало их контроллеру домена на подтверждение? Т.е. сделать а-ля "Интегрированную аутентификацию" только вместо автоматического входа пользователь должен будет ввести свои идентификаторы в домене.
SH>LogonUser/LsaLogonUser не устроят? Но для этого нужно обладать привилегией TCB на локальном компьютере.
Я так понимаю, что эти функции делают логон в домен/ОС (мне нужно в приложение) — я прав или нет?
Здравствуйте, ozit, Вы писали:
O>Я так понимаю, что эти функции делают логон в домен/ОС (мне нужно в приложение) — я прав или нет?
Фактически да. Эти функции на основании логина-пароля возвращают токен пользователя. А что значит "вход в приложение"? Если нужно просто проверить пароль, то вот: http://www.rsdn.ru/article/qna/baseserv/winauth.xml
Здравствуйте, SergH, Вы писали:
SH>Здравствуйте, ozit, Вы писали:
O>>Я так понимаю, что эти функции делают логон в домен/ОС (мне нужно в приложение) — я прав или нет?
SH>Фактически да. Эти функции на основании логина-пароля возвращают токен пользователя. А что значит "вход в приложение"? Если нужно просто проверить пароль, то вот: http://www.rsdn.ru/article/qna/baseserv/winauth.xml
Пример, я обращаюсь к серверу общего ресурса домена, передаю ему при этом логин и пароль по протоколу NTLM или Kerberos. Сервер через домен проверяет мои данные и если все нормально, меня пропускают. Мне нужно сделать тоже самое на толстом клиенте, только вместо сервера общего ресурса будет мое приложение и пароль пользователя должен браться не автоматически из хранилища, а запрашиваться еще раз у пользователя....т.е. сделать что-то вроде (Restricted SSO).
Здравствуйте, ozit, Вы писали:
O>Пример, я обращаюсь к серверу общего ресурса домена, передаю ему при этом логин и пароль по протоколу NTLM или Kerberos. Сервер через домен проверяет мои данные и если все нормально, меня пропускают. Мне нужно сделать тоже самое на толстом клиенте, только вместо сервера общего ресурса будет мое приложение и пароль пользователя должен браться не автоматически из хранилища, а запрашиваться еще раз у пользователя....т.е. сделать что-то вроде (Restricted SSO).
Во-первых, если войдешь в домен, дальше этот токен можно использовать при обращении к серверу. Во-вторых, есть такой специальный флаг у LogonUser — LOGON32_LOGON_NEW_CREDENTIALS.
Напрямую через SSPI тоже можно, но вроде не нужно в данном случае