Estoy escribiendo un atributo de filtro Autorizar y estoy teniendo problemas para averiguar cómo obtener la URL actual como una cadena, así que puedo pasarla como un parámetro para la acción Iniciar sesión. El objetivo es que si un usuario inicia sesión con éxito, se lo redireccionará a la página a la que originalmente intentaba acceder.¿Cómo obtengo la Url actual desde dentro de un FilterAttribute?
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?
}
);
}
}
¿Cómo obtengo la cadena completa Url de la solicitud actual?
También podría usar RawUrl (filterContext.HttpContext.Request.RawUrl) para obtener la url sin dominio –