Использование ИзолированныеStorage на сервере IIS
-
05-10-2019 - |
Вопрос
Я немного запутался в использовании Изолированное хранилище на сервере 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, которое обычно в корпоративной среде работает на веб-ферме.Было бы противно хранить что-либо локально для каждого пользователя.Если этот сервер выйдет из строя, вы потеряете эти данные.