【发布时间】:2012-01-03 12:58:26
【问题描述】:
这是我的 URL 网站:“www.mysite.com”。如果我想登录以获得管理员权限,我必须去:“www.mysite.com/Account/LogOn”。
大家可以告诉我,我怎样才能只使用“www.mysite.com/administrator”来登录我的站点的管理员级别。
【问题讨论】:
标签: c# asp.net asp.net-mvc url
这是我的 URL 网站:“www.mysite.com”。如果我想登录以获得管理员权限,我必须去:“www.mysite.com/Account/LogOn”。
大家可以告诉我,我怎样才能只使用“www.mysite.com/administrator”来登录我的站点的管理员级别。
【问题讨论】:
标签: c# asp.net asp.net-mvc url
您可以在管理员控制器中的 Index 操作上设置 Authorize 属性,因此如果有人转到 /Admininistrator/Index 或 /Administrator,那么他们将被重定向到登录页面,然后一旦登录回管理页面。
【讨论】:
您正在寻找的是RouteCollection.MapRoute() 方法来定义您的自定义路线。像这样就足够了:
routes.MapRoute(
"Admin", // Route name
"Administrator", // URL with parameters
new { controller = "Account", action = "LogOn" } // Parameter defaults
);
它的作用是通过LogOn 操作将www.mysite.com/adminsistrator 转换为您的Account 控制器。
【讨论】:
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes); routes.MapRoute( "Admin", // Route name "Administrator", // URL with parameters new { controller = "Account", action = "LogOn" } // Parameter defaults ); }