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