Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从ASP MVC 5应用程序中的Active Directory检索用户详细信息_C#_Asp.net Mvc_Active Directory - Fatal编程技术网

C# 从ASP MVC 5应用程序中的Active Directory检索用户详细信息

C# 从ASP MVC 5应用程序中的Active Directory检索用户详细信息,c#,asp.net-mvc,active-directory,C#,Asp.net Mvc,Active Directory,我有一个使用windows身份验证设置的MVC 5内部网应用程序。我是Active Directory新手。如何从MVC应用程序中查询Active Directory,以检索当前已验证的用户详细信息,如电子邮件添加、电话等-因此,基本上使用windows身份验证时,我只有用户名 一些代码可能会有所帮助,例如连接到AD等?由于您拥有用户名,因此您可以查询Active Directory并获取用户所需的必要信息。下面是使用AccountManagement名称空间对AD的一个简单调用 ... str

我有一个使用windows身份验证设置的MVC 5内部网应用程序。我是Active Directory新手。如何从MVC应用程序中查询Active Directory,以检索当前已验证的用户详细信息,如电子邮件添加、电话等-因此,基本上使用windows身份验证时,我只有用户名


一些代码可能会有所帮助,例如连接到AD等?

由于您拥有
用户名
,因此您可以查询
Active Directory
并获取用户所需的必要信息。下面是使用
AccountManagement
名称空间对
AD
的一个简单调用

...
string UserName = "yourUserName";
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com")
{
   using (UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, userName)
   if (user != null)
   {
      //user will contain information such as name, email, phone etc..
   }
}

查询active directory是否需要用户名密码?这取决于应用程序的运行方式。如果您让它在IIS中的特定用户下运行,并且该用户有权访问AD,则不需要指定用户名和密码。但是,假设您正在从开发计算机连接到某个远程AD服务器,那么如果您的用户名没有访问权限,则需要指定用户名和密码。您的示例没有显示如何验证密码.ctx.ValidateCredentials(用户名、密码、ContextOptions.Confertive)。。。万一有人需要it@Mike,它没有显示如何进行身份验证的原因是因为问题没有要求这样做。问题为“已验证”用户指定。