| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Портирование gina в credential provider |
| Автор: HazzarD 16.2.2010, 18:32 |
| занимаюсь портированием gina.dll под win7, которая проверяет кроме логина и пароля наличие определенного идентификационного носителя(флеха, сд, флоппи). Думаю использовать обертку стандартного парольного провайдера. Собственно, проблема в том, что как получить токен пользователя при попытке аутентификации. Идея, была в методе GetSerialization выполнить LogonUser, получить токен, выполнить код проверки на валидность носителя, и потом потом отправлять данные LogonUI, но в оберточном провайдере непонятно откуда брать логин, пароль и домен. |
| Автор: HazzarD 19.2.2010, 13:33 |
| пошел по другому пути. написал своего провайдера в котором поля для ввода логина пароля. сейчас другая проблема - как получить токен пользователя не используя LogonUser(а унас есть логин ). или хотя бы проверить результат авторизации и дальше от него плясать |
| Автор: jimbo 23.2.2010, 10:04 |
| Могу ошибаться, но в Висте - функции GINA игнорируются. в 7 - я думаю тоже. библиотека я так понял уже не юзается, так что-то другое отвечает за вход. почему нельзя использовать функцию LogonUser? Вы хотите реализовать такое? - Пользователь не может зайти пока не вставлен флеш-ключ? В ХР это делалось через gina. В библиотеке есть функция WlxLoggedOutSAS. там мы производим вход в винду при помощи функции LogonUser. Если хендл вернулся и ключ вставлен, то мы отдаем winlogon - WLX_ACTION_LOGON - что-то такое, т.е. говорим процессу входа, что все верно. Если LogonUser получил хендл пользователя но флеш-ключ не вставлен или не тот что нужен, мы просто закрываем хендл и возвращаем winlogon - WLX_ACTION_NONE? На сайте codeproject есть проект с исходным кодом для флеш-ключа и взода в винду только с флешкой. проект называется smartlogon - поищите - найдете я думаю. В 7 - я думаю аналогично надо делать, просто не через гину |