2010-05-28 2 views
5

Я немного смущен об использовании Isolated Storage на сервере IIS.Использование IsolatedStorage на сервере IIS

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

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

Использование изолированного хранения на сервере среднего (для Windows Server 2003):

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

  • Что означает \Documents and Settings\Default User\ когда пул приложений принадлежит Местная система или Сетевые услуги Я думаю,

  • Что также означает, WRITE права на эту папку для Local System или Network Services

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

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

Некоторые точки на MSDN:

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

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

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

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

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

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

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

Спасибо!

+0

Я не понимаю. Изолированное хранилище предназначено для ненадежных приложений на клиенте. (Например, апплет silverlight.) Если вы размещаете веб-приложение, тогда вам доверяют, поэтому зачем использовать изолированное хранилище? – stribika

+0

Спасибо за ваш комментарий, но это не то, что я понимаю на MSDN. Говорят, вы можете использовать его для частично доверенного приложения, но они также вызывают проверку сервера. Я сделаю редактирование, чтобы добавить эти точки. – JoeBilly

ответ

1

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

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

+0

Я выяснил те же выводы, что и ваши. И такое же поведение кажется верным в последней реализации (с большей вероятностью это правда), даже если я не тестировал. Я согласен с этим ответом, поскольку вопрос был о логике CLR 2 изолированного хранилища. – JoeBilly

Смежные вопросы