【发布时间】:2015-02-23 06:13:33
【问题描述】:
我尝试从我的机器验证属于远程 ActiveDirectory 的用户,这与当前机器或用户域不同。我的机器和远程 ActiveDirectory 机器之间将没有信任。
初步尝试
我试图验证一个用户(输入:sAMAccountName、机器的 IP 地址、机器的域用户名(“管理员”)和机器的密码(***)。能够得到具有 'sAMAccountName' 的用户确实存在于 ActiveDirectory 中的结果。
我的要求:
假设已经在 ActiveDirectory 中创建了一个用户(“qwerty”)
-
从我的本地机器上,我会得到以下信息,
一个。远程 ActiveDirectory ipaddress
b.远程 ActiveDirectory 机器的用户名和密码。
c。用户“qwerty”的用户名和密码
我需要检查远程 ActiveDirectory 的用户列表中是否存在用户“qwerty”并验证输入的 密码是否与 ActiveDirectory 的用户列表中的相同
我试过的代码:
DirectoryEntry entry = new DirectoryEntry("LDAP://ipaddress/DC=dinesh,DC=com", name, password);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(sAMAccountName=" + name + ")";
try
{
SearchResult adsSearchResult = adsSearcher.FindOne();
isValid = true;
adsEntry.Close();
}
catch (Exception ex)
{
adsEntry.Close();
}
在验证远程 ActiveDirectory 中的用户之前,是否需要在本地计算机和远程 ActiveDirectory 计算机之间创建信任?如果是,请说明如何完成;
创建信任后,如何验证用户?
================================================ ==============================
我可以使用 Rainer 建议的解决方案,但出现了一个新问题。当我通过 C# 代码从另一台机器创建新用户时,某些属性设置不正确。
这个需要在创建用户的时候强制设置吗?
【问题讨论】:
-
当你写“远程活动目录”时,我认为它与当前机器或用户域不是同一个域。正确的 ?如果两个域之间没有信任,您需要针对远程域进行身份验证(您的实际行为是什么)。但是,“在远程 AD 中验证用户”到底是什么意思。请更详细地解释这一点,您要验证什么?如果用户真的存在?
-
您好 Rainer,我已编辑并回答您的问题。请看一下
-
嗨,Dinesh,好的,现在这变得更清楚了。我想我理解你的要求。给我一些时间(1-2 天)以获得答案和一些建议(我今天阅读了你的问题,因为几年前我曾使用 Active Directory 和 LDAP,我会尽力帮助你)
标签: c# active-directory active-directory-group