Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在ASP.NET MVC应用程序中,什么设置User.Identity.IsAuthenticated?_Asp.net Mvc_Forms Authentication - Fatal编程技术网

Asp.net mvc 在ASP.NET MVC应用程序中,什么设置User.Identity.IsAuthenticated?

Asp.net mvc 在ASP.NET MVC应用程序中,什么设置User.Identity.IsAuthenticated?,asp.net-mvc,forms-authentication,Asp.net Mvc,Forms Authentication,我正在使用Facebook C#SDK,并通过用户的Facebook帐户对其进行身份验证。一旦我执行了所有的检查来“验证”它们,我就调用FormsAuthentication.SetAuthCookie(email,false) 执行该调用是否允许我在操作中访问User.Identity.IsAuthenticated?如果我不打那个电话呢 我有一些操作将根据其身份验证状态返回不同的视图,并希望确保User.Identity.IsAuthenticated在MVC 4应用程序中是可靠的。它是注册

我正在使用Facebook C#SDK,并通过用户的Facebook帐户对其进行身份验证。一旦我执行了所有的检查来“验证”它们,我就调用
FormsAuthentication.SetAuthCookie(email,false)

执行该调用是否允许我在操作中访问
User.Identity.IsAuthenticated
?如果我不打那个电话呢

我有一些操作将根据其身份验证状态返回不同的视图,并希望确保
User.Identity.IsAuthenticated
在MVC 4应用程序中是可靠的。

它是注册的,并在每次请求时执行。当您在web.config的
标记中指定
mode=“Forms”
时,此模块将自动注册。正是这个模块截获了所有401响应,并自动将用户重定向到登录页面(这有时不是一个理想的行为,因为最终结果是HTTP状态代码为200)

因此,要回答您的问题:

执行该呼叫是否允许我访问 User.Identity.i是否已在我的操作中验证?如果我 你没打那个电话吗


不完全是。此调用仅向响应发送表单身份验证cookie。HTTP模块负责拦截请求,如果此请求包含cookie,它将设置
User.Identity

谢谢,回答得很好。假设访问者是全新的网站,没有授权cookie。
User.Identity.IsAuthenticated
是false还是null?然后,只要FormsAuth HTTP模块能够读取/验证FormsAuth cookie,
User.Identity.IsAuthenticated
将为true?User.Identity永远不会为null。但是User.Identity.IsAuthenticated将是错误的。很好,谢谢!你不仅回答了我的问题,而且我现在更充分地理解了formsauth,真的很感激。感谢你的明确回答,请你提及任何涉及mvc整个生命周期的文章。我深入研究了mvc的生命周期,但它并不是一个详细的生命周期。我想澄清我对每个模块和整个应用程序以及请求生命周期的概念。@Darin在表单身份验证中,单击“登录”按钮并从db成功进行身份验证后,会发生什么情况来设置用户身份,是否有任何模块/处理程序等,如果nit使用默认成员身份,那么应该如何设置标识?设置好了吗?Cookie对此负责吗?