【问题标题】:custom authorize attribute which returns ControllerName + ActionName自定义授权属性,返回 ControllerName + ActionName
【发布时间】:2011-04-05 09:35:45
【问题描述】:

我在这里有自定义 AuthorizeAttribute:Handling session timeout in ajax calls 它工作得很好。但是 Account 控制器的 LogOn Action 在 ASP.NET MVC 中有 returnURL 参数。登录后它返回到最后一页(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。但我认为这不是一个好主意。 如果您不理解我的问题,请提出问题

【问题讨论】:

  • 基本动作名称是什么意思?
  • 可以说我在产品控制器的列表操作中。并使用 ajax 调用 Products Controller 的 GetAjax Action。我想接收 /Products/List 而不是 /Products/GetAjax

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


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 2012-04-16
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多