在我的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 –