共用方式為


請檢查命令式安全性

更新:2007 年 11 月

型別名稱

ReviewImperativeSecurity

CheckId

CA2103

分類

Microsoft.Security

中斷變更

中斷

原因

方法會使用命令式安全性,而且可能會利用因要求正在使用中而會變更的狀態資訊或傳回值,建構使用權限。

規則描述

在程式碼執行期間,命令式安全性會使用 Managed 物件指定使用權限和安全性動作,這和宣告式安全性相反,後者會使用屬性 (Attribute) 儲存中繼資料 (Metadata) 中的使用權限和動作。命令式安全性極具彈性,讓您能使用無法在執行階段之前取得的資訊,設定 Permission 物件的狀態並選取安全性動作。但是彈性會伴隨風險,也就是說當動作生效時,您用於決定使用權限狀態的執行階段資訊無法維持不變。

請盡可能使用宣告式安全性。宣告式要求較容易了解,而且利用像是使用權限檢視工具 (Permview.exe) 的工具進行偵測。

如何修正違規

檢查命令式安全性要求,確保使用權限的狀態不會依賴因使用權限正在使用中而變更的資訊。

隱藏警告的時機

如果使用權限不依賴變更資料,則您可以放心地隱藏這項規則的警告。但是,最好是將命令式要求變更為其宣告式的對等用法。

請參閱

參考

使用權限檢視工具 (Permview.exe)

其他資源

安全程式碼撰寫方針

資料存取