Authorizeフィルタ属性adnを作成しています。現在のURLを文字列として取得する方法を考え出すのに問題があります。そのため、LogOnアクションのパラメータとして渡すことができます。目標は、ユーザーが正常にログオンすると、元々アクセスしようとしていたページにリダイレクトされるということです。FilterAttribute内から現在のURLを取得するにはどうすればよいですか?
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を取得するにはどうすればよいですか?
また、RawUrl(filterContext.HttpContext.Request.RawUrl)を使用してドメインなしでURLを取得することもできます –