HttpContext.User.Identity.Name仅在调试模式下不为空(从IIS或本地为空)



我有一个MVC项目,我使用IHttpContextAccessor,以便在我的控制器中使用HttpContext。

public RequestController(IHttpContextAccessor accessor)
{
_contextAccessor = accessor;
}

我使用另一个函数来查找网站中用户的名字。因此,我创建了一个HTTP请求,然后我以这种方式获得用户名:_contextAccessor.HttpContext.User.Identity.Name

在调试模式下一切看起来很好,当我路由到:localhost/user我得到我的用户名,但当它不是调试模式,它是本地或从IIS它只是返回NULL。有谁知道为什么吗?

最后我明白了,我需要在IIS中禁用服务器的匿名身份验证。

服务器中的身份验证

更改为disabled

相关内容

最新更新