HOW TO:使用 Caspol.exe 分析組件權限的問題

更新:2007 年 11 月

您可以使用程式碼存取安全性原則工具 (Caspol.exe),在發生組件無法執行、存取受保護的資源或在不當時機執行的問題時進行疑難排解。

若要分析組件無法執行的問題

  1. 使用 -all-resolveperm 選項來確定原則授與組件的使用權限:

    caspol –all –resolveperm assembly-file

    檢查 SecurityPermission 類別中是否設定執行旗標,以判斷組件是否具有執行的權限。如果組件具有執行權限,安全性權限集合將不受限制,或旗標屬性將會包含執行旗標。

    如果組件必須存取受保護資源 (例如,存取磁碟、建立視窗、寫入登錄等等),請檢查是否設定適當的使用權限。

  2. 因為企業、電腦和使用者原則層級所授與的使用權限會做交集,使用權限必須在所有層級上設定給要接收它的組件。如果組件的使用權限不充足,則檢查各個原則層級上授與組件的使用權限:

    caspol –enterprise –resolveperm assembly-file

    caspol –machine –resolveperm assembly-file

    caspol –user –resolveperm assembly-file

  3. 程式碼群組的成員資格條件限制太苛,或其相關使用權限集合不包含組件運作所需要的使用權限時,如果組件是它的一部分,即無法正常執行。如果授與程式碼的使用權限不充足,您可以建立新程式碼群組,將所需要的使用權限授與組件。

    您也可以修改相關的使用權限集合,或者現有程式碼群組之一的成員資格條件,以便組件收到適當的使用權限。如需如何進行這項工作的詳細資訊,請參閱 HOW TO:使用 Caspol.exe 變更程式碼群組

若要分析組件存取受保護的資源或在不當時機執行的問題

  • 如果組件不應該執行而執行,或者組件存取不應該存取的資源 (例如建立對話方塊所需要的資源),組件很可能已經被授與太多的使用權限。使用 -resolveperm 選項來確定組件已被授與哪些使用權限。然後使用 -resolvegroups 選項來確定它所屬的程式碼群組。變更成員資格條件或者相關程式碼群組的相關使用權限集合來限制授與組件的使用權限。

請參閱

概念

安全性原則模型

參考

程式碼存取安全性原則工具 (Caspol.exe)

其他資源

使用程式碼存取安全性原則工具 (Caspol.exe) 設定安全性原則

使用 Caspol.exe 解決安全性原則問題