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