【发布时间】:2014-07-18 06:58:47
【问题描述】:
我正在尝试为这样的 AJAX 请求创建自定义 AuthorizeAttribute:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class AjaxAuthorizeAttribute: AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
JsonResult result = new JsonResult();
result.Data = new { status = "unauthorized", redirect = FormsAuthentication.LoginUrl };
filterContext.Result = result;
//filterContext.HttpContext.Response.StatusCode = 401;
filterContext.HttpContext.Response.ContentType = "application/json";
filterContext.HttpContext.Response.End();
Debug.WriteLine(result.ToString());
return;
}
base.HandleUnauthorizedRequest(filterContext);
}
但是,JSONResult 出于某种原因从未写入 HTTP 响应。我做错了什么?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-4 authorization