在我的ASP.NET应用程序MVC4,我使用窗体身份验证。应用程序中的一个视图需要通过jQuery post()
调用获取一些字符串数据。我写了一个返回字符串的动作。一切正常,直到表单身份验证票证过期。到期后,AJAX调用的字符串操作结果如下:MVC4窗体身份验证+ AJAX行动
- 行动中的代码没有得到执行
- 操作返回一个HTTP 200,而不是401
- 操作返回的HTML登录查看串
- 因为200点的状态返回,而不是401,控制在
jqXHR.done()
代替jqXHR.fail()
这是预期的行为结束了?我能做些什么让行动回到401吗?还是有什么我应该做的来处理这件事?
感谢您的回答。从我检查的内容来看,字符串动作中的任何代码都不会被执行。那么我应该在哪里插入这行代码'HttpResponse.SuppressFormsAuthenticationRedirect = true'? – joym8
在Application_EndRequest()中,如果将其添加到global.asax中,它将被自动调用。 –
或者你可以ofcourse创建ActionFilterAttribute:http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/understanding-action-filters-cs –