【发布时间】:2014-07-14 11:13:43
【问题描述】:
我可以使用Route.Config 文件对我的 MVC 应用程序进行 URL 重写,如下所示:
//Offline Consult Route
routes.MapRoute(
name: "WrittenStep2",
url: "written/step2/{id}",
defaults: new { controller = "Offline", action = "Step2", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Written",
url: "written",
defaults: new { controller = "Offline", action = "Index" }
);
在上面的代码中,我将控制器设置为“离线”并进行了一些操作。
我可以改变路线:
收件人: www.abc.com/written
来自 www.abc.com/Offline
我的问题是我仍然可以访问 URL:www.abc.com/Offline。我该如何解决这个问题?
我已尝试使用Global.asax 文件的Begin_Request 方法拒绝用户访问此URL。
但是在这样做之后,我将无法访问我使用 jQuery Ajax 调用的方法。
$.ajax({
type: "POST",
url: "/Offline/HelloWorld",
data: jsonString,
contentType: "application/json",
...
有没有办法限制用户使用相同的 URL?
【问题讨论】:
-
你能再读一遍我的问题吗?我想说的是,即使在重写之后,我也可以访问我的旧网址。
标签: asp.net-mvc asp.net-mvc-routing global-asax