Аутентификация .NET Forms: как ограничить доступ к ресурсам, таким как файлы PDF, только для пользователей, прошедших проверку подлинности

Я использую .net2.0 и IIS6.

При использовании проверки подлинности с помощью .net Forms: как ограничить доступ к ресурсам, таким как файлы PDF, только для пользователей, прошедших проверку подлинности; поэтому, чтобы получить доступ к файлу, скажем, mysite.com/mydoc.pdf, они должны сначала пройти аутентификацию (пройти через страницу входа)

Кажется, что по умолчанию защищены только страницы .aspx. Например. чтобы включить .html, мне пришлось выполнить шаги, описанные здесь.

ИЗМЕНИТЬ

Спасибо, ребята, за очень быстрые ответы, ответ от Keltex отлично сработал для меня, так как мне нужно было быстрое исправление для демонстрационной системы.

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

Вы можете опубликовать другие ответы


person kristof    schedule 07.11.2008    source источник


Ответы (4)


Вы должны настроить IIS для обработки расширений с подстановочными знаками. Таким образом, расширения .pdf и .html будут аутентифицированы. Вот как для IIS6:

http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx

person Keltex    schedule 07.11.2008

Вы можете хранить файлы в каталоге, который недоступен напрямую через Интернет, а затем пользователи должны посетить страницу ASPX с идентификатором, указывающим на файл, который им нужно загрузить. В этот момент вы передаете файл из них.

person Kibbee    schedule 07.11.2008
comment
Хороший ответ для хостинговых сред, где нет контроля над добавлением подстановочных знаков. - person Kev; 07.11.2008

Создайте httphandler, который проверяет аутентифицированного пользователя перед потоковой передачей документа в браузер. Затем вы можете установить ссылку на странице, чтобы она указывала на обработчик с идентификатором документа, а не на файл напрямую.

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

Полезные ссылки: http://msdn.microsoft.com/en-us/library/system.web.ihttphandler

person WestDiscGolf    schedule 07.11.2008

У вас отключен анонимный доступ? если у вас есть только встроенная аутентификация Windows, она должна заблокировать весь доступ, если вы настроите свою веб-конфигурацию с этими настройками.

person Community    schedule 07.11.2008