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); } } } }

 

转载于:https://www.cnblogs.com/caoheyang911016/p/4277126.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值