Защита изображений в ASP.NET MVC (с пользовательским RouteHandler) - PullRequest
1 голос
/ 26 июня 2010

Я создал собственный RouteHandler для изображений, которые я хочу защитить.Мой RouteHandler просто берет новый маршрут (graphics / {имя_файла}) и выполняет поиск истинного пути к файлу, устанавливает тип MIME и обслуживает его.Это отлично работает.(http://www.mikesdotnetting.com/Article/126/ASP.NET-MVC-Prevent-Image-Leeching-with-a-Custom-RouteHandler)

Далее я хотел проверить в своем пользовательском обработчике переменную сеанса, которую я установил ранее, чтобы убедиться, что лицо, пытающееся просмотреть изображение, имеет разрешение насделайте это.

По сути, они передадут логин (введите код), который установит переменную сеанса, которую я буду искать в пользовательском RouteHandler.

Моя проблема в том, что я могупохоже, что данные сеанса не поступают из пользовательского RouteHandler.

Наконец, мой вопрос: как я могу установить данные в контроллере и сделать их доступными для меня из пользовательского RouteHandler по последующему запросу

1 Ответ

1 голос
/ 26 июня 2010

Во-первых, из RequestContext, переданного методу GetHttpHandler, вы не можете получить доступ к сеансу через requestContext.HttpContext.Session? Я не уверен, я мог видеть, что это не работает по умолчанию, так как это так рано в процессе.

Если нет, вы всегда можете легко переместить логику проверки сеанса в обработчик, добавив интерфейс IRequiresSessionState в обработчик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...