0

MVC にあるプログラムを実行した後、それが行く URL は Home/Index です。これをどこで変更しますか?ユーザーがログインしているかどうかを確認して、他のページにリダイレクトしたい。彼がログインしていない場合、URL は Home/Index になります。

4

3 に答える 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 に答える