Asp.net MVC Routing - 使用约束阻止到XML文件的路由

时间:2011-02-08 21:31:54

标签: asp.net asp.net-mvc routing asp.net-mvc-3

我正试图找到一种方法来阻止用户访问特定的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类中。这样做是为了测试它是否有效。

1 个答案:

答案 0 :(得分:1)

限制是否必须在MVC路线中?

如果没有,您可以将以下内容放在</configuration>的{​​{1}}结束标记之前:

web.config