Я начал исследовать, как работают поставщики учетных данных, но из-за плохой документации я застрял в нескольких местах.
У меня есть консольное приложение (вроде сервера ssh), когда я подключаюсь к этому приложению удаленно и аутентифицируюсь (ни один не вошел в систему), я хочу, чтобы он мог перенаправлять эти учетные данные поставщику учетных данных, и я хочу CPвойти в систему пользователя (создать сеанс).
Я также заметил, что в документации говорится, что метод SetSerialization
всегда вызывается после SetusageScenario
.Но я добавил журналы, и SetSerialization
никогда не вызывается после SetusageScenario
.
Как я знаю, SetSerialization
вызывается, когда приложением предоставляются учетные данные.Я не могу понять, что значит предоставлять учетные данные через приложение?Кажется, что это то, что мне нужно, для пересылки учетных данных из приложения поставщику учетных данных, но как я могу это сделать?Существуют ли какие-либо функции, которые я мог бы вызвать из dll провайдера учетных данных, чтобы спровоцировать вход в систему?
Есть ли способ, которым я могу добиться этого?Я читал, что когда удаленный вход в систему выполнен, вызывается UpdateRemoteCredential
, но, как я понимаю (поправьте меня, если я ошибаюсь), в удаленном входе это означает RDP
, но мое приложение простое, оно просто слушает какой-то порти получает имя пользователя и пароль, а затем использует функцию Logonuser
.
Программа с именем MxLogon2
реализует эту схему.Удаленный сервер с установленным MxLogon2
может аутентифицировать USB-ключ (но я хочу имя пользователя и пароль), подключенный к клиентской стороне в сеансе удаленного рабочего стола.
Любое предложение, которое направит меня в нужное русло, будет очень
PS
Я использую pGina
в качестве провайдера учетных данных.