2008-09-25 49 views
2

我试图将IPermission节点配置为中等信任的一部分。但是我无法找到节点ASP.Net中等信任安装

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

上的PathDiscovery属性的有效值列表我需要设置权限,以便该帐户将能够访问主路径下的所有子目录。目前一个.svc(WCF服务文件)会抛出一个404错误,因为ASP.Net帐户无法从深度级别的子文件夹中获取它。我试图避免改变节点到

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

任何想法?

TIA

回答

2

我当然同意,你不应该改变的节点无限制,因为这几乎打败部分信任的目的。

根据System.Security.Permissions.FileIOPermission documentation on MSDN,FileIOPermission应该暗示对该路径下的所有内容都有权限。 从这个DOC:

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

当然,建立自定义信任.config文件是可悲很难用微软文档,所以它可能是对的FileIOPermission的标记的.config行为不同于代码类...这将是令人惊讶的我虽然。

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

+0

404是因为FileIO权限,因为如果Unrestricted设置为true,服务调用会不失败。我不知道$ AddDir $限制什么 – rams 2008-09-25 17:26:06