我正在编写一个授权过滤器属性和我无法弄清楚如何将当前 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?