2013-06-06 4 views
0

Мой вопрос, я могу проверить сеанс, прежде чем разрешить пользователю просматривать файл, например:ASP.NET - Проверка сеанса перед открытием файла

http://www.somedomain/pdf/dummy.pdf

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

Спасибо.

+0

Post некоторые код пожалуйста – skhurams

+0

Post код для чего? Я спрашиваю, как это можно сделать. – KhanZeeshan

+0

Как вы разрешаете пользователю просматривать файл – skhurams

ответ

2

Вы можете написать HttpHandler и настроить его на обработку файлов * .pdf. IHttpHandler.ProcessRequest метод имеет доступ к HttpContext, так что вы можете получить доступ к информации о сеансе и не в значительной степени все, что вы хотите ...

Как установить обработчик PDF-файлов зависит от версии IIS, но here «s пример делать это с помощью Web.config файл для IIS 7 в интегрированном режиме. Для версий до 7 изменений файла Web.config недостаточно, вам также необходимо использовать диспетчер IIS для расширения карты до Aspnet_isapi.dll. Посмотрите here и here для деталей.

Ваш вопрос немного изменен. Возможно, вы не хотите получать доступ к HttpSessionState, вместо этого вы просто хотите использовать стандартную аутентификацию URL-адреса ASP.NET для статических файлов (например, PDF)? Если это так, найдите «авторизацию ASP.NET для статических файлов», это довольно популярная тема.