繁体   English   中英

用.NET语言替换GINA?

[英]A GINA replacement in a .NET language?

我搜索了很多地方,我只发现了一个名为pGINA的GINA替代品,但它是C ++,我根本不知道。

有没有人知道C#或VB.NET中的一个?

(我正在编写用于工作的软件来控制员工在做什么)

在Winlogon中托管.NET(GINA dll加载的地方)可能不是一个热门的想法 - 如果其他东西决定做同样的事情可能会导致各种冲突,如果你丢弃winlogon,你就不会在任何地方使用它PC。 另外,GINA已经被ICredentialProvider替换为Vista(见此处 ) - 所以一旦你转向更新的操作系统,你的投资就会丢失。 即使在那里,同样的事情也适用:自定义凭证提供程序被加载到Winlogon中,所以在那里使用.NET可能不是一个好主意。

无论如何,这两者都旨在支持自定义身份验证模块,而不是“控制员工正在做什么”。 如果您正在尝试执行此操作,还有其他方法可以在登录桌面上运行软件。

总而言之,如果您仍想尝试它,您将需要一个非托管的填充程序DLL,C ++ / CLI或一些IL黑客(请参阅此处 )来导出GINA函数,因为C#无法直接导出DLL函数。 纯粹的托管C#解决方案是不可能的。

扩展nitzmahone的优点:

完全取代GINA实际上是使用托管代码的禁忌。 OTOH,很有可能用C ++编写替换GINA并让它调用.Net代码来完成繁重的工作。

几年前,我使用这种技术用一个花哨的新闻服务取代CTRL + ALT + DEL屏幕。 我的自定义GINA是标准GINA的代理。 大多数情况下它透明地传递给标准GINA。 例外情况是,它运行.Net应用程序的.exe而不是显示ALT + DEL + CTRL屏幕,然后在显示登录屏幕之前等待.exe终止。

遗憾的是,当显然无法将工作直接应用于Vista时,我放弃了该项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM