我有一个基于 USB 的自定义指纹识别设备。如何将设备上的指纹与 Windows 机器的用户相关联(使用 CredentialProvider)。首先,我希望在指纹扫描时自动登录,而不提示输入用户名/密码。
我意识到应该有一些注册过程来将指纹绑定到 Windows 用户;但我在这个方向上找不到任何技术资源。
提前致谢。
我有一个基于 USB 的自定义指纹识别设备。如何将设备上的指纹与 Windows 机器的用户相关联(使用 CredentialProvider)。首先,我希望在指纹扫描时自动登录,而不提示输入用户名/密码。
我意识到应该有一些注册过程来将指纹绑定到 Windows 用户;但我在这个方向上找不到任何技术资源。
提前致谢。
您将需要创建一个支持 ICredentialProvider 和 ICredentialProviderCredential 接口的 COM 组件,登录可以在登录提示期间加载和枚举这些接口。这将使您能够创建可以在“欢迎”屏幕中看到的 UI。
查看http://pgina.org/ - C++ 部分是一个很好的例子,说明了如何实现这一点。
组件加载后,您必须为您的特定事件顺序提供“Credential Provider Technical Reference”建议。
根据文档,您需要实现 ICredentialProviderCredential::GetSerialization 方法,该方法需要返回要从 LSA 使用的打包凭证。现在在这里你有两个选择:
创建一个自定义存储,将您的指纹数据映射到您的数据库中的用户名、域、密码组合。您为 NTLM 身份验证序列化数据。
另外创建您自己的 SSP/AP,它将使用您的自定义机制 ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa375200(v=vs.85).aspx ) 对用户进行身份验证。