【发布时间】:2020-08-10 09:16:44
【问题描述】:
我有一个可在提供服务的浏览器中使用的内部网 URL。导航到 URL 会显示一个网页,用户可以在该网页中输入各个字段的数据,然后按一个按钮来获取结果。
我被告知这是在 Active Directory 上(如果我在这里使用了错误的术语,请道歉)。
在我继续之前,我应该提一下,我对 Active Directory 及其工作原理一无所知。
我想要做的是使用 C# 在代码中执行相同的操作。所以,我想发送一个包含相关数据的请求,并通过方法调用接收结果,以便我可以在代码中处理它。
在发现有一个充满相关类型的 System.DirectoryServices.ActiveDirectory 命名空间后,我希望这是可能的。
我应该查看哪些类,以及我可能需要将哪些数据传递到这些类型中才能实现这一切?
更新
我在网上找到了this,这看起来很有趣,因为它有一个我正在尝试做的例子。即在为用户提供电子邮件地址后查询其他用户信息。它的问题是我得到了一个Server could not be contacted 异常。我需要做更多的事情吗?我可以很好地访问网页并手动执行此服务。
这是我正在使用的代码:
try
{
// enter AD settings
PrincipalContext AD = new PrincipalContext(ContextType.Domain, "< URL HERE >");
UserPrincipal u = new UserPrincipal(AD);
u.EmailAddress = "mickey@mouse.com";
// search for user
PrincipalSearcher search = new PrincipalSearcher(u);
UserPrincipal result = (UserPrincipal)search.FindOne();
search.Dispose();
// show some details
Console.WriteLine("Display Name : " + result.DisplayName);
Console.WriteLine("Phone Number : " + result.VoiceTelephoneNumber);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
【问题讨论】:
标签: c# active-directory azure-active-directory