Asp.net-Mvc
Asp.net Mvc 自定義機制來處理未經授權的請求
對於我的網站,我希望遵循安全控制器(或操作)的行為
如果使用者發出正常請求重定向到登錄頁面(我很容易做到)
如果請求是 Ajax 類型
Request.IsAjaxRequest()==true,返回狀態碼 401我該如何為此創建過濾器?
public class MyCustomAuthorize : AuthorizeAttribute { protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { //if ajax request set status code and end Response if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.HttpContext.Response.StatusCode = 401; filterContext.HttpContext.Response.End(); } base.HandleUnauthorizedRequest(filterContext); } }創建一個像上面這樣的過濾器,如果請求是通過 ajax 發出的,它將為未經授權的請求返回狀態程式碼 401。
如果您使用的是 jQuery,您可以執行以下操作
jQuery.ajax({ statusCode: { 401: function() { alert('unauthrized'); }, /*other options*/ });