533
Chương 13: Bảo mật
Ứng dụng dưới đây trình bày quá trình tạo một mức chính sách và gán nó cho một miền ứng
dụng. Mức chính sách này cấp các quyền dựa trên publisher của một assembly—được thể hiện
trong các khoản của chứng cứ
System.Security.Policy.Publisher
.
using System;
using System.Security;
using System.Security.Policy;
using System.Security.Cryptography.X509Certificates;
public class AppDomainPolicyExample {
public static void Main() {
// Tạo một miền ứng dụng mới (để nạp các assembly vào đó).
AppDomain domain = AppDomain.CreateDomain("modules");
// Nạp các assembly vào miền ứng dụng mà bạn không muốn
// bị ràng buộc bởi chính sách bảo mật miền ứng dụng.
§
// Cấu hình chính sách bảo mật cho đối tượng AppDomain.
SetDomainPolicy(domain);
// Nạp các assembly vào miền ứng dụng được bảo vệ.
§
}
// Phương thức này cấu hình chính sách bảo mật của đối tượng
// AppDomain được truyền cho nó. Chính sách bảo mật sẽ gán các
// quyền khác nhau cho mỗi assembly dựa trên publisher của
// assembly. Những assembly từ các publisher vô danh không được
// cấp quyền nào cả.
private static void SetDomainPolicy(AppDomain domain) {
// Tạo một PolicyLevel mới cho miền ứng dụng.
PolicyLevel policy = PolicyLevel.CreateAppDomainLevel();
// Tạo một FirstMatchCodeGroup mới dùng làm nút gốc của hệ
// thống phân cấp code group. Cấu hình group này sao cho