設定應用程式定義域層級的安全性原則
更新:2007 年 11 月
.NET Framework 提供了程式碼存取安全性和以角色為基礎的安全性。擁有兩種類型的安全性可以讓您更精細地控制程式碼所能執行的動作。它也提供了讓元件來決定使用者能做些什麼的基礎結構。主應用程式對於在它所建立之應用程式定義域中執行的程式碼,它對這兩種安全性機制類型都擁有高度的控制。
系統管理員和主應用程式會使用可在程式碼中存取的安全性,不論執行該程式碼的使用者為何人,而依據程式碼本身的特性來決定程式碼所能執行的工作。這些程式碼特性被稱為辨識項,可以包括要從它下載程式碼的網站或區域,或發行程式碼之廠商的數位簽章。
當程式碼被載入和執行時,程式碼存取安全性會將這個辨識項對應到一組 PermissionSet。這些使用權限定義了程式碼能夠進行的特定動作。系統管理員或主應用程式會將特定的辨識項對應到授與程式碼的使用權限。這種對應就稱為安全性原則。舉例來講,系統管理員可以建立一項安全性原則,對於從內部網路下載的程式碼授與比從網際網路所下載的程式碼更高的使用權限 (例如存取檔案系統的能力)。
主應用程式在應用程式定義域上設定的安全性原則就稱為應用程式定義域安全性原則。這項原則與系統管理員在企業、電腦和使用者等級所定義的原則相交,決定了授與程式碼的完整使用權限集。請注意,應用程式定義域原則只能限制較高等級原則 (企業、電腦或使用者) 授與的使用權限。
主應用程式可以藉由在 System.AppDomain 類別上呼叫 AppDomain.SetAppDomainPolicy 方法,設定應用程式域層級原則。只有在主應用程式已將 SecurityPermission 授與控制辨識項時,它才可以設定應用程式定義域層級原則。