2008-09-25 51 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