2

中程度の信頼の一部としてIPermissionノードを構成しようとしています。ただし、ノードでPathDiscovery属性の有効な値のリストが見つかりません

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

アカウントがメインパスの下のすべてのサブディレクトリにアクセスできるように、アクセス許可を設定する必要があります。現在、.svc(WCFサービスファイル)は404エラーをスローします。これは、ASP.Netアカウントが2、3レベルのサブフォルダーからそれを取得できないためです。ノードを次のように変更しないようにしています

<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 などへの読み取りアクセスを意味します。

もちろん、カスタム信頼 .config ファイルの作成は、Microsoft によってひどく不十分に文書化されているため、FileIOPermission の .config マークアップがコード クラスとは異なる動作をする可能性があります。

他の問題が 404 を引き起こしている可能性はありますか? 期待する資格情報でサービスが実行されていること、およびパスが正しく評価されていることを再確認してください...

于 2008-09-25T16:49:03.193 に答える