0

ユーザーがログインしているかどうかを確認する AuthorizeAttribute があり、そうでない場合はユーザーをログインページにリダイレクトします。

ログインページへのリダイレクト中にreturnUrlを含めたい。現在、filterContext.HttpContext.Request.RawUrlを使用して現在の URL を取得しています。

問題は、たとえばhttp://localhost/TestApp1、IIS でアプリをホストし、それにアクセスしようとすると、AuthorizeAttribute 内で filterContext.HttpContext.Request.RawUrl が/TestApp1の代わりに/を返しますが、これは正しくありません。

アプリがローカル IIS でホストされている場合に正しい相対パスを取得するソリューションはありますか?

4

1 に答える 1

0

次のようにして、必要なものを取得できます。

string applicationPath = filterContext.HttpContext.Request.ApplicationPath;    
string returnUrl = filterContext.HttpContext.Request.RawUrl.Replace(applicationPath, "");
于 2013-07-17T14:39:51.107 に答える