ASP.Net中等信任设置

时间:2020-03-06 14:43:06  来源:igfitidea点击:

我正在尝试将IPermission节点配置为中等信任的一部分。但是,我无法在节点上找到PathDiscovery属性的有效值列表。

<IPermission class="FileIOPermission" version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$"/>

我需要设置权限,以便该帐户将能够访问主路径下的所有子目录。当前,.svc(WCF服务文件)会引发404错误,因为ASP.Net帐户无法从几个级别的子文件夹中获取该文件。我试图避免将节点更改为

<IPermission class="FileIOPermission" version="1" Unrestricted="true"/>

有任何想法吗?

TIA

解决方案

我当然同意,我们不应将节点更改为"不受限制",因为这几乎会破坏部分信任的目的。

根据MSDN上的System.Security.Permissions.FileIOPermission文档,FileIOPermission应该还暗示对该路径下的所有内容都具有权限。
从该文档:

Access to a folder implies access to
  all the files it contains, as well as
  access to all the files and folders in
  its subfolders. For example, Read
  access to C:\folder1\ implies Read
  access to C:\folder1\file1.txt,
  C:\folder1\folder2\,
  C:\folder1\folder2\file2.txt, and so
  on.

当然,Microsoft对创建自定义信任.config文件的记录很糟糕,因此FileIOPermission的.config标记的行为可能与代码类不同……但这令我惊讶。

是否可能是其他问题导致了404?仔细检查该服务是否正在我们期望的凭据下执行,并且该路径正在正确评估中...