如何从Active Directory MVC 4获取用户详细信息?

时间:2015-01-27 03:50:18

标签: asp.net asp.net-mvc asp.net-mvc-4 ldap

我正在使用ASP.NET MVC4(C#)开发一个Web应用程序,我设法使用LDAP(Active Directory)创建登录系统,但我不知道如何检索登录信息,如登录后作为FullName,Email等。

登录信息的

将显示在每个页面的标题上。

这是我登录的代码:

[HttpPost]
    public ActionResult Login(LoginModel model, string returnUrl)
    {
        if (!this.ModelState.IsValid)
        {
            return View(model);
        }
        if (Membership.ValidateUser(model.UserName, model.Password))
        {
            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
            if (this.Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
            {
                return this.Redirect(returnUrl);
            }
            return this.RedirectToAction("Index", "home");
        }
        this.ModelState.AddModelError(string.Empty, "The user name or password provided is incorrect.");
        return this.View(model);
    }

1 个答案:

答案 0 :(得分:1)

我找到了答案,我的控制器里面有这段代码:

 var context = new PrincipalContext(ContextType.Domain);
 var principal = UserPrincipal.FindByIdentity(context, id);
 var EmployeeID= principal.SamAccountName;
 var firstName = principal.GivenName;
 var lastname = principal.Surname;

我设法获取详细信息登录信息:)