Скрыть PDF-документы на сервере, но зарегистрированные пользователи могут их видеть? - PullRequest
1 голос
/ 26 ноября 2011

Скажите, что у меня на веб-сервере есть куча документов PDF, загруженных на мой веб-сервер моей пользовательской системой. Скажите, что они совершенно секретные или очень личные; мог бы FX. быть зарплатой, договором с клиентом или счетом.

Как скрыть PDF-документы от всего мира, но сделать их видимыми и загружаемыми для пользователей, вошедших в мою пользовательскую систему?

Возможно ли это в любом случае?

Я использую полностью выделенный Microsoft Web Server 2008 с SQL Server 2008 и IIS7. И я занимаюсь серверными сценариями с ASP Classic.


И да, я гуглил сценарий, и я действительно не могу найти конкретный пример того, как это сделать. Что также позволяет мне поверить, что это невозможно: /

Ответы [ 3 ]

1 голос
/ 27 ноября 2011

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

Надеюсь, у вас естьУ меня нет старых фильтров ISAPI, которые требуют классического конвейера.Следовательно, в вашем пуле приложений будет работать интегрированный конвейер.

Я полагаю, что вы можете использовать фильтр страниц ASP.NET global.asax для входящих запросов даже для статического содержимого в интегрированном конвейере.AuthorizeRequest может быть хорошим местом для размещения вашего кода.

Возможно, вам потребуется настроить существующую систему входа в систему (которая, вероятно, зависит от сеанса ASP), чтобы также добавить дополнительный файл cookie сеанса (тот, чье имя изначение, которое вы диктуете) в ответ на запрос входа в систему.

Вы бы поместили файлы PDF в какую-то подпапку в вашем приложении.Ваш код в коде Global.asax может затем определить, относится ли входящий запрос к этой подпапке, может ли он проверить файлы cookie по запросу, чтобы определить, присутствует ли ваш файл cookie сеанса и имеет ли он допустимое значение.

Это имеет два преимущества: -

  1. Позволяет существующему обработчику статического содержимого доставлять фактический файл клиенту, что будет более эффективно, чем пытаться делать это с кодом.
  2. Это дает вашему приложению небольшую поддержку в мире ASP.NET.Отсюда вы можете рассмотреть возможность предоставления дополнительных функций с использованием ASP.NET.
0 голосов
/ 26 ноября 2011

То, что вы ищете, - это возможность потоковой передачи файлов в браузер.

http://support.microsoft.com/kb/276488

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

0 голосов
/ 26 ноября 2011

Поместите их в папку над папкой домена.

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