Asp.net MVC Routing - предотвращение маршрута к XML-файлу с ограничением - PullRequest
2 голосов
/ 09 февраля 2011

Я пытаюсь найти способ запретить пользователю доступ к определенному 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 Ответ

1 голос
/ 09 февраля 2011

Должно ли ограничение быть в маршрутах MVC?

Если нет, вы можете поместить следующее прямо перед закрывающим тегом </configuration> в web.config:

<location path="SiteMap/siteMap.xml">
     <system.web>
        <authorization>
           <deny users="*"/>
        </authorization>
     </system.web>
 </location>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...