使用大型Json Get请求时,HttpContext.User属性变为null

时间:2014-07-04 10:23:24

标签: asp.net-mvc json asp.net-mvc-3 asp.net-mvc-4 razor

我在MVC 4网站中使用自定义授权属性,该属性充当全局操作过滤器。代码非常简单,如下所示:

 public class CustomAuthorizeAttribute : AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            var user = Membership.GetUser(filterContext.HttpContext.User.Identity.Name, true);

            if (!filterContext.HttpContext.User.Identity.IsAuthenticated || user == null || !user.IsApproved || user.IsLockedOut|| !System.Web.Security.Roles.GetRolesForUser().Any() )
            {
                HandleUnauthorizedRequest(filterContext);
            }
            base.OnAuthorization(filterContext);
        }
} 

这非常正常,但在我的应用程序中的一个操作方法中,$ .getJSON请求filterContext.HttpContext.User属性调用为null。我正在使用我的getJson请求在data参数中发送连接的字符串,如果此字符串的长度很大,那么我只面对这个问题,否则我永远不会收到null User。任何帮助将非常感激。

0 个答案:

没有答案