2008-10-25 126 views
1

對於.NET程序集來允許完全信任的調用者以外的其他任何東西,程序集必須使用AllowPartiallyTrustedCallers進行簽名和歸屬。爲什麼AllowPartiallyTrustedCallers不是默認值?

但即使這樣,CLR仍然(幸運的)檢查代碼權限,以確保部分信任的調用者可以執行所需的代碼。

所以我的問題是,爲什麼AllowPartiallyTrustedCallers屬性不承擔所有程序集?爲什麼不相反,那些真的不想部分信任的調用者必須使用某些屬性,如DenyPartiallyTrustedCallers?

回答

5

編寫無法由部分受信任的調用者調用的代碼很容易。編寫代碼比可以調用,很難。這就是爲什麼最好選擇加入而不加入。

讓擁有更少權限的人調用擁有更多權限的人是件大事。