Вопрос

Я немного запутался в использовании Изолированное хранилище на сервере IIS.

Я понимаю цель Изолированное хранилище :предоставляет безопасное место для хранения данных, не беспокоясь о том, как и где находится это место.

С Изолированное хранилище Если у вас есть индивидуальный подход и подход к сборке, я не в восторге от его использования на сервере IIS, где приложения имеют почти свою собственную идентичность.На самом деле я не видел интереса к олицетворению веб-приложения и почти никогда сам не видел олицетворяющих веб-приложений, но это моя точка зрения.

С использованием Изолированное хранилище на сервере значит (для Windows Server 2003) :

  • Использование изолированных магазинов в \Documents and Settings\<user>\

  • Что означает \Documents and Settings\Default User\ когда пул приложений принадлежит Локальная система или Сетевые службы Наверное

  • Что также означает Писать права на эту папку для Локальная система или Сетевые службы

  • Использование олицетворения

Что касается веб-приложения (логики), эти идеи меня смущают...Документ и настройки?Пользователь по умолчанию?Включить олицетворение только для хранения?Нет контроля над хранилищем на сервере?Эм-м-м ?

Некоторые моменты в MSDN:

  • Серверное хранилище.Серверные приложения могут использовать изолированное хранилище для предоставления отдельных хранилищ [...].Поскольку изолированное хранилище всегда разделяется пользователем, сервер должен выдавать себя за пользователь, делающий запрос.[...]

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

  • по умолчанию код, запускаемый с локального компьютера, локальная сеть, [...] предоставляется право использования изолированного хранилища.Должен ли я понять Сетевые службы ?Я был бы удивлен.На моих серверах IIS (Windows 2003) дело обстоит иначе.

И тут передо мной дилемма:использовать System.IO.Packaging (с изолированным хранилищем внутри) в веб-приложениях или найти альтернативу?С использованием IO.Packaging означает, что вы должны включить изолированное хранилище?

Я ошибаюсь в своем подходе?Я что-то пропустил ?

Я точно не хочу использовать/включать его на сервере IIS, я хотел бы понять, является ли его включение в такой среде хорошей практикой.

Любая точка зрения приветствуется, и объяснение «изолированного хранилища с философией IIS» может быть ответом.

Спасибо !

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

Решение

Если по какой-то причине вам понадобится использовать изолированное хранилище на стороне сервера, вы должны выдать себя за пользователя, и для этого вам нужно будет использовать встроенную аутентификацию Windows, чтобы вы получили субъект пользователя контекста http, заполненный запрашивающим пользователем.Поток запросов переключит личность на пользователя, запрашивающего, и я предполагаю (не проверял), что вы увидите изолированное хранилище под этой учетной записью.

Я до сих пор не уверен, когда мне следует использовать изолированное хранилище на стороне сервера для приложения IIS, которое обычно в корпоративной среде работает на веб-ферме.Было бы противно хранить что-либо локально для каждого пользователя.Если этот сервер выйдет из строя, вы потеряете эти данные.

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