ASP.NET MVC 利用路由规则自定义管理后台登录地址
目标:通过修改配置参数实现动态生成管理后台登录地址,以此来增加后台安全性。
原理:将管理后台目录放到web.config文件中作为配置项,路由规则中去掉默认的后台登录地址。增加一条路由规则,控制器名称从web.config文件中读取。
假设原后台登录地址为http://www.xxx.com/admin/login,将控制器名称“admin”放到配置文件中,当该配置项的值为“test”时,后台登录地址就变成http://www.xxx.com/test/login。
1、增加web.config配置项<add key="AdminRoutePath" value="test"/>
2、修改App_Start/RouteConfig.cs文件,增加一条忽略路由,并增加一条新路由映射。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("Admin/Login");
routes.MapRoute(
name: "AdminLogin",
url: ConfigHelper.GetConfig("AdminRoutePath") + "/{action}", //ConfigHelpr.GetConfig()为读取配置文件内容的方法
defaults: new { controller = "Auth", action = "{action}" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
此时如果访问http://www.xxx.com/admin/login会报404错误,访问http://www.xxx.com/test/login可打开登录页。
登录进入后台后,可以在某个操作界面增加修改该配置项数据的功能。