自定义Windows身份验证包

Custom Windows Authentication Package

本文关键字:身份验证 Windows 自定义      更新时间:2023-10-16

因此,下面是场景。我正在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身份验证包的页面,但我还没有真正检查