2
我試圖找到一種方法來防止用戶訪問特定的XML文件。我試着做...Asp.net MVC路由 - 防止路由到一個約束的XML文件
routes.MapRoute(
"SiteMap",
"SiteMap/siteMap.xml",
new { },
new { isLocal = new LocalHostRouteConstraint() });
凡LocalHostRouteConstraint()是...
public class LocalHostRouteConstraint : IRouteConstraint
{
public bool Match(System.Web.HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
return !httpContext.Request.IsLocal;
}
}
這是此頁上實現......
http://www.asp.net/mvc/tutorials/creating-a-custom-route-constraint-cs
但路由仍然被允許訪問xml!
有沒有另一種方法來防止這種情況?
編輯 忘了提及忽略!在LocalHostRouteConstrsint類中。這樣做是爲了測試它的工作。
什麼是你想實現什麼?你爲什麼不使用routes.IgnoreRoute(「SiteMap/siteMap.xml」)? – frennky 2011-02-08 21:57:58
你也可以嘗試`routes.IgnoreRoute(「{* sitemap}」,新{sitemap = @「(。* /)?siteMap.xml(/.*)?」});` – 2011-02-08 22:32:25