1

私が抱えている ReturnUrl の問題を回避する方法について、誰かが光を当ててくれることを願っていました。デフォルトの Web サイトで実行していた ASP.NET MVC 4 Web アプリケーションがあり、すべて問題ないように見えました... ReturnUrl は Basic コントローラーの検索アクションを指しています。

http://localhost/Login/Index?ReturnUrl=%2fBasic%2fSearch

このアプリケーションを別のマシンに移動して仮想ディレクトリにデプロイすると、別の ReturnUrl が返されます。

http://localhost2/virtualdirectory/Login/Index?ReturnUrl=%2fvirtualdirectory%2fBasic%2fSearch

現在、「仮想ディレクトリ」が ReturnUrl に表示されており、もちろん正しくルーティングされていません。

私の web.config では、次のように構成しました。

<authentication mode="Forms">
  <forms loginUrl="~/Login/Index" timeout="2880" />
</authentication>

どんな助けや提案も大歓迎です。

4

1 に答える 1

1

リダイレクトをどのように行っているかによって異なります。このようにリダイレクトしている場合、動作するはずです:

[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
   //... omitted some preliminary validation ...
   return Redirect(returnUrl);
}

このセットアップを使用しており、仮想ディレクトリで動作します。

于 2014-01-13T16:04:22.653 に答える