在 Windows 8 中,引入了一种新的非域用户身份验证方法:使用在控制面板中设置的 PIN。
目前,我们的应用程序支持使用 LogonUserW()
通过预先保存的密码登录 Windows,现在还需要支持 PIN。
我们如何从 .NET 应用程序直接或通过 P/Invoke 实现它?
最佳答案
所以所有这些东西都由接口(interface)的 ICredentialProvider
配置单元管理 - 对于 Windows 8,他们在 ICredentialProvider2
中添加了一个扩展,主要是为了将凭据提供程序绑定(bind)到个人用户帐户.
我不是这方面的专家,但我确实挖掘了一些引用资料:
- 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 接口(interface)(可能是 ICredentialProviderProvider
和 ICredentialProvider
接口(interface))创建一个精简的包装器,然后以这种方式调用它们......但我我主要是在猜测。
关于c# - 如何以编程方式使用 PIN 码登录 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697908/