在IIS服务器上使用IsolatedStorage

Joe*_*lly 5 .net iis isolatedstorage system.io.packaging

我对在IIS服务器上使用隔离存储感到有点困惑.

我理解隔离存储的目标:提供一个存储数据的安全位置,而不用担心这个地方的方式和位置.

由于隔离存储具有按用户和按组件方法,因此在应用程序几乎具有自己身份的IIS服务器上使用它并不太疯狂.我还没有真正看到模仿Web应用程序的兴趣,而且我自己几乎从未见过模拟的Web应用程序,但这是我的观点.

在服务器上使用独立存储意味着(对于Windows Server 2003):

  • 使用隔离存储 \Documents and Settings\<user>\

  • 这意味着\Documents and Settings\Default User\当应用程序池是由拥有本地系统网络服务我猜

  • 这也意味着对本地系统网络服务的此文件夹具有权限

  • 使用模仿

关于Web应用程序(逻辑),这些想法让我感到困惑......文档和设置?默认用户?是否只为存储启用模拟?无法控制服务器上的存储?呃?

MSDN上的一些要点:

  • 服务器存储.服务器应用程序可以使用独立存储来提供单独的存储[...].由于隔离存储始终由用户隔离,因此服务器必须模拟发出请求的用户.[...]

  • 使用独立存储使部分受信任的应用程序能够以计算机安全策略控制的方式存储数据.

  • 默认情况下,从本地计算机(本地网络)运行的代码被授予使用独立存储的权利.我应该了解网络服务吗?我会感到惊讶.在我的IIS服务器(Windows 2003)上并非如此.

然后我是一个困境的前沿:System.IO.Packaging在Web应用程序中使用(内置隔离存储)或找到替代方案?使用IO.Packaging意味着您必须启用隔离存储?

我的方法错了吗?我错过了什么 ?

我确切地说我并不特别想在IIS服务器上使用/启用它,我想了解如果在这样的环境中启用它是一个很好的做法.

任何观点都值得赞赏,并且有关"使用IIS哲学的独立存储"的解释可能是一个问题.

谢谢 !

CJ *_*ath 1

如果出于某种原因需要使用服务器端隔离存储,那么您必须模拟用户,为此您需要使用 Windows 集成身份验证,以便获得使用请求用户填充的 http 上下文的用户主体。请求线程会将身份切换到请求者用户,我假设(尚未测试)您会看到该帐户下的独立存储。

我仍然不确定什么时候会在服务器端使用 IIS 应用程序的独立存储,该应用程序通常在企业环境中在网络场上运行。将每个用户的任何内容存储在本地是违反最佳实践的。如果该服务器出现故障,那么您就会丢失该数据。