Вопрос

Я создал пользовательский Routehenler для изображений, которые я хочу защищен. Мой rutehangandler просто берет новый маршрут (графика / {filename}) и делает поиск истинного пути файла, устанавливает тип MIME и обслуживает его. Это работает нормально. (http://www.mikesdotnetting.com/article/126/asp.net-mvc-prevent-image-leeching-with-a-custom-routehandler.)

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

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top