asp.net mvc中使用路由进行URL加密_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > asp.net mvc中使用路由进行URL加密

asp.net mvc中使用路由进行URL加密

 2015/2/6 16:18:40  曹赫洋  程序员俱乐部  我要评论(0)
  • 摘要:代码实例如下:namespaceTest{publicclassRouteConfig{publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//原有代码routes.Add(newRoute("testroute-{para1}.cshtml",newAjaxGetRouteHandler()))
  • 标签:.net ASP.NET MVC 使用 net URL

代码实例如下:

namespace Test
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  //原有代码 
            routes.Add(new Route("testroute-{para1}.cshtml", new AjaxGetRouteHandler()));      //配置当前路由规则下的 IRouteHandler处理类
            routes.MapRoute(name: "testroute", url: "testroute-{para1}.cshtml");  //自己配置的全新路由规则,当然此处尚未进行默认值配置。
            routes.MapRoute(        //MVC原有的默认路由配置规则  注意:这里必须将默认的路由规则在所有路由注册的最后一个进行注册,否则会出现新规则不能解析到正确地址的问题
              name: "Default",
              url: "{controller}/{action}/{id}",
              defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
          );
        }

        public class AjaxGetRouteHandler : IRouteHandler
        {
            public IHttpHandler GetHttpHandler(RequestContext requestContext)
            {
//在当前类中可以对用于处理请求的controller,action等个各个参数进行赋值操作,可以在公开的地址栏对URL进行DES加密,这里进行解密从而得到真正的请求地址。 requestContext.RouteData.Values[
"controller"] = "home"; requestContext.RouteData.Values["action"] = "index";//requestContext.RouteData.Values["para1"].ToString().ToLower(); return new MvcHandler(requestContext); } } } }

 

发表评论
用户名: 匿名