C#解锁工作站

标签 c# windows authentication

对于我想要制作的 usb-smartstick 应用程序,我需要能够在 C# 中解锁锁定的工作站。当我插入具有唯一 ID 的 USB 时,我想解锁 ws。执行此操作的最佳方法是什么?

我的目标是像 Rohos 登录 key 这样的类似应用程序。

最佳答案

据我所知,为了实现这一点,您需要替换/ Hook 到处理登录的 Windows 组件的实现中。据我所知,没有其他方法可以实现您的要求 - 要求用户在登录前输入安全注意序列 (SAS) 的原因是为了防止恶意软件欺骗登录对话框。如果任何旧程序可以执行您要求的操作,那么这就是恶意软件能够利用的东西。

根据您的目标 Windows 版本,有两种不同的方法可以执行此操作。

适用于 Windows XP 及更早版本

为此,您需要编写自己的 GINA(Microsoft 图形识别和身份验证)替代品。仅供引用,在 .Net 中实现这样的 dll 可能不是一个好主意(请参阅 A GINA replacement in a .NET language?)。这也是相当高级的东西,引用下面链接的文章之一

replacing the GINA is an advanced technique that should not be taken lightly. You should only do this if you have no other choice (if, for example, you are implementing a new logon mechanism that Windows does not support).

有关 GINA 的更多信息,请查看以下链接

Vista 及更高版本

在 Windows Vista 和更高版本上 GINA has been replaced with Credential Providers ,因此您需要实现 ICredentialProviderCredential interface .虽然这是一个 COM 接口(interface),但再次用 .Net 语言实现它并不是一个好主意。

可以在以下链接中找到更多详细信息

关于C#解锁工作站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12565878/

相关文章:

c# - 无法从 ASP.Net core razor 页面检索表行

windows - 禁用sed中反斜杠的转义功能

windows - Windows 移动 .NET 设备使用 Web 服务时出现 "Could not establish trust relationship with remote server"错误

php - 微服务架构中的 JWT 身份验证

c# - asp.net core中的托管服务(后台服务)在每个Publish azure中重新启动

c# - 找不到方法 : 'Boolean Microsoft. IdentityModel.Tokens.TokenUtilities.IsRecoverableConfiguration

php - 在哪里可以找到 Facebook cookie?

android - 登录成功后使用 volley、php、mysql 登录 Activity Intent 不进入其他 Activity

c# - VS2008 - 为调试/发布配置输出不同的文件名

cmd.exe(批处理)脚本中的数组、链表等数据结构