MVC应用程序运行后的URL是Home / Index。怎么改呢?

时间:2012-04-12 11:06:54

标签: asp.net-mvc

我运行MVC中的程序后,它的主页是Home / Index。在哪里改变这个? 我想检查用户是否已登录,以重定向其他页面。如果他没有登录,那么网址可以是Home / Index。

3 个答案:

答案 0 :(得分:3)

如果您正在使用MVC,则应该使用Authorize action filter

如果您使用表单身份验证,则在web.config中设置您未进行身份验证的URL。

答案 1 :(得分: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

答案 2 :(得分:0)

你有点问两件事。

您的应用程序会自动转到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();
 }
}