PrincipalContext部署到IIS时出现错误。错误显示“值不能为空”。我该如何解决?

时间:2019-08-14 09:22:14

标签: c# asp.net-mvc asp.net-core

我必须开发一个Web应用程序,该应用程序将在Intranet环境中的IIS上托管。假定该应用程序在Windows Auth上具有单个符号,并在导航栏上显示用户的显示名称。用户信息存储在Active Directory中。

该应用程序是使用MVC asp.net Core 2.1开发的。我正在使用如下所示,在我的BaseController中,我正在尝试获取用户信息并显示在_Layout上。 Using(_context)给出了一个错误,指出部署后identityValue不能为null。代码在Visual Studio(即2019)的调试模式下运行良好。

我的web.config文件也显示在下面

PrincipalContext _context = new PrincipalContext(ContextType.Domain);

if (_context != null)
{
    using (_context)
    {
        UserPrincipal user = UserPrincipal.FindByIdentity(_context, username);
        if (user != null)
        {
            ViewData["UserName"] = user.DisplayName;
            ViewData["EmailAddress"] = user.EmailAddress;
            ViewData["EmployeeNumber"] = user.EmployeeId;
            ViewData["EmployeeNumber"] = user.EmployeeId;
        }
    }
}
else
{
    ViewData["UserName"] = "User";
}

我希望输出与运行Visual Studio时的输出一样

0 个答案:

没有答案