我对ASP.NET MVC 5
使用Identity
和Authentication
,我的问题在于以下代码:
User.Identity.IsAuthenticated
User
是Null,但我在View Like下面使用了Above代码,它的工作正常,用户有价值。
@if (User.Identity.IsAuthenticated)
{...}
什么事?
要做到这一点,我在谷歌搜索并找到一种方法
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
}
答案 0 :(得分:8)
我怀疑你试图在控制器的构造函数中调用此方法。在HTTP请求执行管道中过早地调用此构造函数,并且HttpContext在那里不可用。您可以在Initialize方法中访问HttpContext:
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
// Now you can access the HttpContext and User
if (User.Identity.IsAuthenticated)
{
...
}
}