gpt4 book ai didi

vb.net - 如何验证我的应用程序运行所在的事件目录域?

转载 作者:行者123 更新时间:2023-12-04 12:48:36 24 4
gpt4 key购买 nike

我有一个 VB.Net 应用程序,它使用当前的 Windows 用户进行身份验证而不要求输入密码。它会在启动前检查该用户是否是“MYDOMAIN\ApplicationUsers”的成员。

如何检查这是否是真正的域,而不是使用相同名称的不同域?是否有任何证书或公钥可以在本地进行验证?我更喜欢离线检查,没有第三方机器或数据库等。

在 System.DirectoryServices.ActiveDirectory 命名空间中有一些 Trust 和 Validate 方法,但它们似乎只检查域间信任并仅使用域名。

最佳答案

您的问题是您使用的是字符串,而像 mydomain/application 用户这样的字符串在域中并不是唯一的。一种可能性是使用预期域中应用程序用户组的 SID 而不是名称。然后,您可以在检查成员资格之前检查组的 SID,以确保它在运行时与预期的应用程序用户组的 sid 匹配。对于恶意用户来说,欺骗域和组 Sid 的部分然后是域和组名称将更加困难。

最终,如果您在恶意用户拥有的机器上运行代码,那么这只会提高标准,他们仍然可以绕过此检查。

关于vb.net - 如何验证我的应用程序运行所在的事件目录域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com