gpt4 book ai didi

c# - Active Directory 登录 - DirectoryEntry 不一致异常

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:13 25 4
gpt4 key购买 nike

我需要通过检查指定域中是否存在这样的用户名来验证 LDAP 用户。为此,我正在使用这段代码 -

DirectoryEntry entry = new DirectoryEntry("LDAP://" + strDomainController);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "SAMAccountName=" + strUserName;
SearchResult result = searcher.FindOne();
return (result != null) ? true : false;

这是一个类库中的方法,我打算在我的项目中需要此功能的任何地方引用和使用它。

为了对此进行测试,我创建了一个简单的测试应用程序。测试是这样发生的——

Console.WriteLine(MyClassLib.MyValidateUserMethod("UserName", "Domain",ref strError).ToString());

我面临的问题是,当我用我的 testapp 测试它时它工作正常,但在我的项目中,当我尝试使用具有相同凭据的相同方法时 - DirectoryEntry 对象抛出一个"System.DirectoryServices.DirectoryServicesCOMException" 异常和 search.Filter 失败并抛出 ex = {"Logon failure: unknown user name or bad password.\r\n"}异常。

我试过模仿,但没有用。不知何故,相同的方法在 mytestapp 中工作正常,但在我的项目中不起作用。这两个应用程序都在我的本地开发机器中。我错过了什么?有什么想法吗?

最佳答案

我几乎尝试了在每个这样的线程上可以找到的所有可能的解决方案,但我仍然无法解决它。

我尝试重做整个事情,然后成功了。我认为,它与我的测试应用程序一起工作而不与我的项目一起工作的原因是我的项目存储在网络位置,而我的测试应用程序存储在我的 PC 的硬盘驱动器中。

当我将我的项目复制到我的 PC 硬盘上时,它开始与我的项目一起正常工作。我最好的猜测是,由于该项目位于网络上,可能没有为 LDAP 验证授予足够的权限。

关于c# - Active Directory 登录 - DirectoryEntry 不一致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824883/

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