0

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

4

3 回答 3

3

如果您使用的是 MVC,您应该查看使用授权操作过滤器

如果您使用表单身份验证,则在 web.config 中设置未通过身份验证时访问的 url。

于 2012-04-12T11:10:23.233 回答
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 Routing - http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs

于 2012-04-12T11:11:59.803 回答
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();
 }
}
于 2012-04-12T11:13:26.697 回答