我运行MVC中的程序后,它的主页是Home / Index。在哪里改变这个? 我想检查用户是否已登录,以重定向其他页面。如果他没有登录,那么网址可以是Home / Index。
答案 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();
}
}