刘刚博客

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可打开登录页。

登录进入后台后,可以在某个操作界面增加修改该配置项数据的功能。

posted @ 2020-03-27 16:45  Future.Net博客  阅读(468)  评论(0编辑  收藏  举报