首页 > 解决方案 > HttpContext.User.Identity.Name 在 Azure 服务器上不起作用

问题描述

我们正在将 MVC 网站应用程序移动到 Azure 服务器。在 Azure 服务器上,我们已经安装了 Visual Studio 2015,并且当前成功运行了以下代码。但是当托管在 IIS 上时,相同的代码不起作用

public class HomeController
{
        public ActionResult Index()
        {
              var user = HttpContext.User.Identity.Name.ToUpper()
              if(user==NULL)
              {
                Session["userLogin"] = "";
                return View("../Error/NotAuthorized");
              }
              else
              {
                Session["userLogin"] = user.DisplayName;
                Session["User"] = user;
                return View();
              }

        }
}

我在上面省略了一些不相关的代码。我仍然无法理解为什么当我从 VS 2015 调试时相同的代码可以工作,但在同一服务器的 IIS 上托管时却不能工作。我只在 IIS 中启用了 Windows 身份验证。请帮忙。

标签: c#asp.net.netasp.net-mvcazure

解决方案


您需要在 IIS 中网站的应用程序池中将加载用户配置文件设置为 true。

如果有的话,还要给它正确的访问 AD 的权限。

在此处输入图像描述


推荐阅读