請檢查命令式安全性
更新:2007 年 11 月
型別名稱 |
ReviewImperativeSecurity |
CheckId |
CA2103 |
分類 |
Microsoft.Security |
中斷變更 |
中斷 |
原因
方法會使用命令式安全性,而且可能會利用因要求正在使用中而會變更的狀態資訊或傳回值,建構使用權限。
規則描述
在程式碼執行期間,命令式安全性會使用 Managed 物件指定使用權限和安全性動作,這和宣告式安全性相反,後者會使用屬性 (Attribute) 儲存中繼資料 (Metadata) 中的使用權限和動作。命令式安全性極具彈性,讓您能使用無法在執行階段之前取得的資訊,設定 Permission 物件的狀態並選取安全性動作。但是彈性會伴隨風險,也就是說當動作生效時,您用於決定使用權限狀態的執行階段資訊無法維持不變。
請盡可能使用宣告式安全性。宣告式要求較容易了解,而且利用像是使用權限檢視工具 (Permview.exe) 的工具進行偵測。
如何修正違規
檢查命令式安全性要求,確保使用權限的狀態不會依賴因使用權限正在使用中而變更的資訊。
隱藏警告的時機
如果使用權限不依賴變更資料,則您可以放心地隱藏這項規則的警告。但是,最好是將命令式要求變更為其宣告式的對等用法。