如何从Windows Active Directory获取当前详细信息

我尝试使用.NetCore C#Web应用程序从Windows活动目录中获取当前用户详细信息

但我不能给他们看。我尝试调试,并确认我的代码已经连接到我的域。因为我可以在调试模式下确保我的用户名和电子邮件详细信息。

这是我的“ Index.cshtml.cs”文件

namespace Employees.Pages
{
    public class IndexModel : PageModel
    {
        public void OnGet()
        {
            var username = User.Identity.Name;



            using (var context =new PrincipalContext(ContextType.Domain, "enadoc.int"))
            {
                var user = UserPrincipal.FindByIdentity(context, username);
                if (user != null)
                {
                    ViewData["UserName"] = user.Name;
                    ViewData["EmailAddress"] = user.EmailAddress;
                }
            }
        }
    }

这是我的“ Index.cshtml”文件

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}



    <p>@ViewData["EmployeeName"]</p>

您能尽快帮我吗?

评论
  • 请,带走
    请,带走 回复

    当我使用azure活动目录创建时,可以在基本项目模板中对其进行检查。 检查以下内容:

    @using System.Security.Claims
    @if (User.Identity.IsAuthenticated)
    {
        var identity = User.Identity as ClaimsIdentity; // Azure AD V2 endpoint specific
        string preferred_username = identity.Claims.FirstOrDefault(c => c.Type == "name")?.Value;