настраиваемый атрибут авторизации, который возвращает ControllerName + ActionName - PullRequest
1 голос
/ 05 апреля 2011

У меня есть собственный AuthorizeAttribute, как здесь: Обработка тайм-аута сеанса в вызовах ajax Работает отлично. Но LogOn Действие контроллера Account имеет параметр returnURL в ASP.NET MVC . После входа в систему он возвращается на последнюю страницу (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
                        }; 
                 }
           }

Но вы можете видеть здесь, что он возвращает ActionName, который вызывается ajax . Но я хочу вернуть базовое ActionName. Пожалуйста, посоветуйте мне. У меня есть некоторые идеи в качестве скрытого значения или получить ActionName из windows.location с помощью JavaScript. но я думаю, что это не очень хорошая идея. Задайте вопрос, если вы не поймете мой вопрос

1 Ответ

1 голос
/ 06 апреля 2011

Вы можете использовать Свойство HttpRequest.UrlReferrer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...