2

我正在尝试将 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

4

1 回答 1

2

我当然同意您不应该将节点更改为 Unrestricted,因为这几乎会破坏部分信任的目的。

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

访问文件夹意味着访问其包含的所有文件,以及访问其子文件夹中的所有文件和文件夹。例如,对 C:\folder1\ 的读取权限意味着对 C:\folder1\file1.txt、C:\folder1\folder2\、C:\folder1\folder2\file2.txt 等的读取权限。

当然,Microsoft 对构建自定义信任 .config 文件的记录非常糟糕,因此 FileIOPermission 的 .config 标记的行为可能与代码类不同......不过这让我感到惊讶。

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

于 2008-09-25T16:49:03.193 回答