c# - 使用连接到 LDAP 服务器的生物识别系统验证窗口用户

标签 c# asp.net windows winapi biometrics


我正在尝试构建一个 Intranet 应用程序。我想做的是使用生物识别系统对用户进行身份验证,准确地说是指纹。就像我见过的一些笔记本电脑或笔记本电脑一样 指纹认证系统。我正在尝试构建相同的东西,但不是为特定的人。唯一的区别是此人的生物识别信息将存储在 LDAP 服务器上。所以 任何有权使用该特定机器的人都可以在通过身份验证后使用。我正在尝试使用外部生物识别设备获取用户的生物识别信息。我浏览了一些关于 Windows Biometric Framework 的文档.并使用 sensor adapterengine adapter作为插件,我可以获取用户的生物识别信息,也可以进行处理并发送到服务器。
我在这里遇到的唯一问题是:

  1. 首先,我这样做是否违反了 Microsoft 的任何政策?
  2. 如果没有,那么我怎样才能获得 Windows 系统锁定和解锁 从服务器获取用户是否有效的响应?

有人试过吗?
谁能帮我弄到这个?
提前谢谢你。

最佳答案

如果您说您想要通知内置的 Windows 登录/身份验证系统(称为系统凭据提供程序)用户已通过身份验证,则不支持此操作由官方 Windows API 提供。 如果支持此功能,任何人都可以创建恶意软件来简单地通知 API 用户已通过身份验证/授权,从而实质上使所有 Windows 安全性变得毫无意义。所以我们应该感谢这没有得到官方支持。

在没有官方 API 支持的情况下尝试实现类似的东西肯定会违反使用条款。由于它不受官方支持,您将不得不求助于一些可怕的黑客攻击才能使其正常工作,微软的法律团队几乎肯定会认为其实现是对内核进行逆向工程或对内核进行黑客攻击(或两者兼而有之)。即使您认为他们是错误的...您真的想与他们(以及他们雄厚的财力)作斗争吗?

我们还要考虑一下,如果不存在官方解锁 API,那么您将需要使用某种后门来实现它。如果这样的事情甚至存在,那么它肯定会被 MS 更新变得无用(这会破坏您应用程序的登录实现)。

既然火与怒已经过去,让我声明一切都没有丢失,前提是您的目标是更新版本的 Windows。

您可以按照您的描述实现自己的生物识别安全系统。这现在称为第三方凭据提供程序 这将是一个单独的系统,Microsoft 建议您要求用户设置系统凭据提供程序作为后备,以防您的第三方凭据系统因任何原因出现故障.否则,用户帐户将无法恢复。同样,它们与第一个示例的主要区别在于您的系统是独立的,并且与系统凭据提供程序(Windows native 锁屏)不同。 p>

不过,我想强调的是,实现第三方凭证系统并非易事。您将需要广泛阅读您必须实现的正确接口(interface)。我建议从这里开始:

https://msdn.microsoft.com/en-us/library/windows/desktop/mt158211%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

在\Samples\Security\CredentialProvider 下的 Windows SDK 安装目录中显然还有一个样本。此外,这里有一个很好的凭证提供者技术引用:

https://msdn.microsoft.com/en-us/library/windows/desktop/bb648647%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

单击“Credential Provider driven Windows Logon Experience”链接下载技术文档。

关于c# - 使用连接到 LDAP 服务器的生物识别系统验证窗口用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45794943/

相关文章:

c# - 根据安装的 Net Framework 版本运行不同的代码

c# - 通过Elasticsearch中其父实体的值获取实体

javascript - "document.formName"未定义?

windows - 如何在dos命令行中将文件与文件之间的新行连接起来

java - Hibernate - 在 Linux 和 Windows 上的不同行为

c# - 单元测试 ServiceBus.Message。如何为 SystemProperties.LockToken 设置值?

c# - 从 FileSystemWatcher C# 捕获时缺少事件

asp.net - 错误 : The application which this project type is based on was not found

c# - "User.Identity.Name"安全吗?

windows - 如何从 Windows 网络服务器上的管理共享中获取 html 文件