自定义Windows身份验证包
Custom Windows Authentication Package
因此,下面是场景。我正在windows7中开发一个登录系统。我已经创建了一个凭据提供程序,其中包含一个凭据。凭证有三个输入字段,用户名、密码和PIN。
据我所知,文档(CMIIW)是,当我们填写字段并单击登录时,WINLOGON将检索用户名和密码,并通过调用LSALogoUser()进行身份验证将其发送到LSA。然后LSA将尝试与身份验证包KERBEROS(用于远程登录)或MSV1_0(用于本地登录)进行协商。
假设目前只有本地场景,用户名和密码将传递给MSV1_0,并与SAM数据库中的用户名和密码进行检查。现在的问题是,我不想用SAM数据库检查它。假设我有一个文件C:\users.txt,其中包含三元组的条目:{username;password;PIN}。这里的所有用户名都是windows中的现有用户。我如何使身份验证按照我的方式进行(检查文件C:\users.txt.
如果我没有记错的话,我们可以创建自己的身份验证包来"包装"MSV1_0。你们有这样的示例代码吗?或者还有其他更合适的方式吗?
谢谢你,我非常感谢你的帮助。
由于PKI成为凭证存储的事实标准,自过去遗留的GINA以来,我确实没有对Windows Logon做过任何工作。但是
您的问题询问了一些示例代码,这里是的完整描述
http://msdn.microsoft.com/en-gb/magazine/cc163489.aspx#S4
这有点古老,所以它指的是智能卡,也许当你说token时,你仍然在谈论智能卡,但我怀疑你指的是U盘。然而,如果您尝试这种级别的开发,那么交换智能卡读/写和USB读/写的代码应该相当简单。
您可以尝试windows sdk中的示例。有一些子身份验证包比全AP更容易实现。
您可以随时编写自己的代码,用数据库中的数据检查输入,有很多方法可以做到这一点。这是一个关于聪明和无聊的方法的视频。
这是关于自定义Windows身份验证包的页面,但我还没有真正检查
- LibGit2 SSH身份验证失败
- 为什么 WinInet 在通过 FQDN 连接时无法通过协商自动进行身份验证,但如果通过 IP 连接则成功?
- 如何通过NetHTTPClient在HTTPS中进行身份验证
- 处理身份验证弹出窗口在wxWebView
- 如何测试我的谷歌身份验证器实现?
- 通过 Boost 和 C++ 进行 SMTP 身份验证
- libtorrent是否支持带摘要身份验证的http web种子
- 将Windows身份验证与cpprestsdk一起使用
- OCCI:使用SSL钱包身份验证连接到OracleDB
- 为什么我不能使用外围设备进行身份验证
- 无法使用C++代码向MongoDB进行身份验证
- 模拟的 HTTP 身份验证仅在本地主机上工作
- Windows 套接字和身份验证构建在包含 Poco-Library 时失败
- 通过 Web 请求C++/节点.js进行 Windows 身份验证
- 在 Windows 上的 C++ 中设置系统代理和身份验证
- 在Windows上创建一个SSL套接字,该套接字使用WinCrypt证书进行身份验证
- 在Windows上使用OpenSSL访问带有身份验证的REST API
- 带有用户名和密码的C++/.net(Framework 2.0)MS SQL数据库windows身份验证
- 自定义Windows身份验证包
- 集成Windows身份验证Wininet