Asp.net-Mvc

如何從 FilterAttribute 中獲取目前 Url?

  • May 25, 2012

我正在編寫一個授權過濾器屬性和我無法弄清楚如何將目前 url 作為字元串獲取,因此我可以將其作為參數傳遞給 LogOn 操作。目標是如果使用者成功登錄,他們將被重定向到他們最初嘗試訪問的頁面。

public override void OnAuthorization(AuthorizeContext filterContext)
{
   base.OnAuthorization(filterContext);

   ... my auth code ...
   bool isAuth ;
   ... my auth code ...

   if(!isAuth)
   {
       filterContext.Result = new RedirectToRouteResult(
           new RouteValueDictionary { 
               { "Area", "" }, 
               { "Controller", "Account" }, 
               { "Action", "LogOn" },
               { "RedirectUrl", "/Url/String/For/Currnt/Request" } // how do I get this?
           }
       );
   }
}

如何從目前請求中獲取完整的字元串 Url?

嘗試:

var url = filterContext.HttpContext.Request.Url;

引用自:https://stackoverflow.com/questions/10761551