返回ControllerName + ActionName的自定义authorize属性

时间:2011-04-05 09:35:46

标签: jquery asp.net-mvc ajax asp.net-mvc-2

我在这里有自定义AuthorizeAttribute:Handling session timeout in ajax calls 它很棒。但 LogOn 帐户控制器的操作在 ASP.NET MVC 中具有returnURL参数。在LogON之后它返回到最后一页(returnURL)。现在我想在以下情况下返回数据:

if (filterContext.HttpContext.Request.IsAjaxRequest())
            {
                if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
                {

    filterContext.Result = new JsonResult
                        {
                            Data = new
                            {
                                // put whatever data you want which will be sent    
                                // to the client    
                                message = "/Account/LogON/?returnUrl=" + filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "/" + filterContext.ActionDescriptor.ActionName
                            },
                            JsonRequestBehavior = JsonRequestBehavior.AllowGet
                        }; 
                 }
           }

但是你可以在这里看到它返回由 ajax 调用的ActionName。但是我想返回基本的ActionName。请指教。我有一些想法作为隐藏价值或使用javascript从windows.location获取ActionName。但我认为这不是一个好主意。 如果您不理解我的问题,请提出问题

1 个答案:

答案 0 :(得分:1)

相关问题