MVC にあるプログラムを実行した後、それが行く URL は Home/Index です。これをどこで変更しますか?ユーザーがログインしているかどうかを確認して、他のページにリダイレクトしたい。彼がログインしていない場合、URL は Home/Index になります。
3 に答える
3
MVC を使用している場合は、Authorize アクション フィルターの使用を検討する必要があります。
フォーム認証を使用している場合、認証されていないときにアクセスする URL は web.config で設定されます。
于 2012-04-12T11:10:23.233 に答える
0
あなたは2つのことを尋ねています。
このため、アプリケーションは自動的に に移動します。ファイルHome/Index
をダブルクリックすると、以下のコードが表示されGlobal.asax
ます。
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
カスタム デフォルトの"Home"および"Index"文字列を変更します。
ここで、ログイン要件のために、デフォルト ルートをそのままにして、次のようにします。
public class HomeController
{
public ActionResult Index()
{
if(!Request.IsAuthenticated)//if NOT authenticated
{//go somewhere else
return RedirectToAction(actioName, controllertName);
}
//for logged in users
return View();
}
}
于 2012-04-12T11:13:26.697 に答える
0
質問の最初の部分 (ルート) については、デフォルト ルートを確認してください。通常は次のように設定されています。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
これは、Web アプリケーションの Global.asax ファイルにあります。これが、表示されているものを見ている理由です。
あなたは本当にASP.Netルーティングを読む必要があります - http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs
于 2012-04-12T11:11:59.803 に答える