asp.net-mvc – 为什么当我更改响应时AuthenticationManager.SignOut()失败?
|
我刚刚开始在OWIN / Katana和MVC.NET 5.0中摆脱困境.默认的Visual Studio 2013 ASP.NET Web应用程序/ MVC模板具有一个具有LogOut()操作的AccountController: public ActionResult LogOff() {
AuthenticationManager.SignOut();
return RedirectToAction("Index","Home");
}
正如预期的那样,这个工作很好.然而,当我改变响应状态码时,例如通过: Response.SetStatus(HttpStatusCode.SeeOther); … AuthenticationManager.SignOut()方法不再导致用户注销.这是为什么? 我尝试了不同的方法来设置响应的http状态代码,以及更改位置等HTTP头,并始终使用相同的结果 – 当执行LogOff()操作时,用户不会注销,如果我进入回火与响应. 我试图没有使用RedirectToAction(它明确地实现了302重定向 – 这是另一个故事),而不是返回一个ActionResult,但没有任何区别 – 而不是我真的希望它. 使用Fiddler我可以看出浏览器看起来的响应看起来不错,没有任何惊喜. 我也尝试着在OWIN中间件的源代码工作,但架构对我来说还是不熟悉的,我发现没有可以把握的答案.我需要你的帮助排序,所以谢谢你提前! 解决方法AuthenticationManager.SignOut()失败的原因是Response.SetStatus(HttpStatusCode.SeeOther)在内部结束响应:public static void SetStatus(this HttpResponseBase response,int httpStatusCode)
{
response.StatusCode = httpStatusCode;
response.End();
}
(请参阅System.Web.WebPages.ResponseExtensions) 之后,ResponseManager自然无法操纵响应以删除cookies等 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 部分视图继承自主布局
- asp.net-mvc-3 – Structuremap,AutoFac或Ninject,哪一个适
- asp.net – aspnet_compiler找到错误版本的System.Web.WebP
- ASP.NET MVC中是否有嵌套主页?
- asp.net-mvc – MVC 4 _Layout.cshtml viewmodel
- asp.net – 如何禁用Web.Config中的目录浏览
- asp.net-mvc-3 – 当调用Controller.PartialView时,ASP.NET
- asp.net-mvc – 如何在窗体发布后检查我的视图中的TempData
- asp.net-mvc – Asp.net MVC – 我可以从不同的视图文件夹加
- asp.net – MVC 4 Web API Action返回:类型vs HttpRespons
- asp.net – 如何使用JwtSecurityTokenHandler和J
- asp.net-mvc – 无法加载文件或程序集”或其依赖
- asp.net – 在asp:Button中包装文本
- asp.net-mvc – 命中错误:在解析器和自定义注册
- 如何使用ASP.NET更改HTML页面元素的CSS类?
- asp.net – IIS作为反向代理 – 从后端服务器压缩
- log4Net EventlogAppender不适用于Asp.Net 2.0 W
- ASP.NET剃刀参考文档
- .NET Framework 3.5中有哪些有用的新ASP.NET功能
- asp.net-mvc-3 – 如何在带有剃刀的asp.net mvc3
