小时电话
17620848827

公司动态

建站经验 ASP.NET MVC 利用路由规则自定义管理后台登录地址

2020-05-31 点击数:1682

目标:通过修改配置参数实现动态生成管理后台登录地址,以此来增加后台安全性。

原理:将管理后台目录放到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可打开登录页。