我正在构建一个 Intranet 应用程序,并且正在使用 Windows 身份验证。我有这个设置和工作,我可以通过@Context.User.Identity.Name 查看当前用户的用户名
我想查询 Active Directory 以检索显示名称、电子邮件地址等。
我查看了 System.DirectoryServices.AccountManagement 并从中创建了一个基本示例。我不清楚如何在我的应用程序中显示这些信息。
到目前为止,我所拥有的如下:
public class searchAD
{
// Establish Domain Context
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain);
public searchAD()
{
// find the user
UserPrincipal user = UserPrincipal.FindByIdentity(domainContext, HttpContext.Current.User.Identity.Name);
if (user != null)
{
var userGuid = user.Guid;
var DisplayName = user.DisplayName;
var GivenName = user.GivenName;
var EmailAddress = user.EmailAddress;
}
}
}
我假设我需要像这样创建一个 ViewModel?
public class domainContext
{
public Nullable<Guid> userGuid { get; set; }
public string DisplayName { get; set; }
public string GivenName { get; set; }
public string EmailAddress { get; set; }
}
我希望能够在应用程序的各个部分访问这些信息。
我没有收到任何错误,只是似乎缺少将所有这些联系在一起的东西。