【问题标题】:C# Unlock workstationC#解锁工作站
【发布时间】:2012-09-24 13:18:34
【问题描述】:

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

我的目标是类似 Rohos Logon Key 这样的应用程序。

【问题讨论】:

  • 这是不可能的。从锁定的工作站启动登录序列的唯一方法是像该 USB 密钥这样的身份验证提供程序可以使用的需要 SAS(安全身份验证序列)。 Ctrl + Alt + Del。人类拥有的三个手指。

标签: c# windows authentication


【解决方案1】:

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

根据您所针对的 Windows 版本,有两种不同的方法来执行此操作。

适用于 Windows XP 及更早版本

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

更换 GINA 是一项不应该采用的先进技术 轻轻。只有在别无选择的情况下才应该这样做(如果,因为 例如,您正在实现 Windows 执行的新登录机制 不支持)。

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

Vista 及更高版本

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

更多细节可以在以下链接中找到

【讨论】:

  • 请注意,此答案仅适用于 XP 及更早版本。在 Vista 及更新版本上,您需要使用 ICredentialProvider
  • 感谢您提供的信息,但我实际上正在寻找... 一个示例。我尝试从 msdn 下载 5 个示例,但我需要验证我的 Windows,但该工具不再工作。任何人都有一个非常简单的凭据提供程序,以便我可以解锁我的工作站?谢谢!
  • @Justin 你能看看我的问题吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 2012-07-02
  • 2023-03-08
相关资源
最近更新 更多