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?仔细检查该服务是否正在我们期望的凭据下执行,并且该路径正在正确评估中...