Как войти в Windows с помощью PIN-кода программно с помощью C# или P/Invoke
В Windows 8 был введен новый метод аутентификации для пользователей, не входящих в домен: использование PIN-кода, установленного на панели управления.
В настоящее время наше приложение поддерживает вход в Windows по предварительно сохраненному паролю, используя LogonUserW()
и теперь требуется поддержка PIN-кода.
Как мы можем добиться этого из приложения.NET, напрямую или с помощью P/Invoke?
1 ответ
Так что все эти вещи регулируются ICredentialProvider
Улей интерфейсов - для Windows 8 они добавили расширение в ICredentialProvider2
в основном для привязки поставщиков учетных данных к отдельным учетным записям пользователей.
Я не эксперт здесь, но я выкопал некоторые ссылки:
- http://msdn.microsoft.com/en-us/magazine/cc163489.aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb776042(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb776029(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/hh706912(v=vs.85).aspx
Моя интуиция говорит, что вы могли бы создать тонкую оболочку для интерфейсов COM (вероятно, ICredentialProviderProvider
а также ICredentialProvider
интерфейсы), и вызывать их таким образом... но я в основном думаю здесь.