在MVC C#中,我希望加密URL控制器名称和视图名称。 每次用户登录时,网址都应该不同。
我需要改变这个:
http://localhost:6065/Home/index
到此:
http://localhost:6065/aghef54df/sdf54512
如果用户下次登录,此加密文本应该更改。
我试图像这样更改routeconfig
routes.MapRoute(
name: "Default1",
url: RandomString() + "/" + RandomString() + "/{rowid}/{operation}",
defaults: new { controller = "Home", action = "Index", rowid = UrlParameter.Optional, operation = UrlParameter.Optional }
);
RandomString()
将生成一个随机字符串。
但是下次用户登录时这不会改变。有没有办法获取sessionid并加密它并显示在URL?
或者在没有改变routeconfig
的情况下还有其他方法吗?
答案 0 :(得分:0)
请参考以下堆栈溢出答案。它不会直接回答您的问题,但会解释您创建自己的路由处理程序所需的过程。您需要提取操作和控制器值,解密它们(使用您自己的密钥?),然后将它们添加回RequestContext,以便进行路由处理。希望这有帮助!