zoukankan      html  css  js  c++  java
  • asp.net mvc中使用路由进行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); } } } }
  • 相关阅读:
    用Latex编辑数学公式
    《利用Python进行数据分析》学习笔记之Matplotlib : pandas中的绘图函数
    《利用Python进行数据分析》学习笔记之Pandas基础
    splice()使用
    markdown语法
    【Docker】Docker 镜像
    【Docker】Docker 命令
    【Docker】Docker 安装
    【Docker】Docker 简介
    【MySQL 高级】知识拓展
  • 原文地址:https://www.cnblogs.com/caoheyang911016/p/4277126.html
Copyright © 2011-2022 走看看