CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 534

534
Chương 13: Bảo mật

// nó trùng khớp với tất cả code. Điều này nghĩa là tất cả

// các assembly đều khởi đầu với một grant-set rỗng cho

// mức chính sách miền ứng dụng.

policy.RootCodeGroup = new FirstMatchCodeGroup(

new AllMembershipCondition(),

new PolicyStatement(policy.GetNamedPermissionSet("Nothing"))

);

// Tạo tập các code group để xác định các quyền nào sẽ được cấp

// cho một assembly do một publisher tạo ra. Vì code group gốc

// là một FirstMatchCodeGroup, nên quá trình phân giải chính sách

// chỉ so trùng assembly trên các group con cho đến khi tìm thấy

// trùng khớp đầu tiên. Mỗi code group được tạo với đặc tính

// Exclusive để bảo đảm rằng assembly không lấy thêm quyền

// nào từ các code group khác.

// Tạo code group cấp tập quyền FullTrust cho các

// assembly được phát hành bởi Microsoft.

X509Certificate microsoftCert =

X509Certificate.CreateFromCertFile("microsoft.cer");

policy.RootCodeGroup.AddChild(new UnionCodeGroup(

new PublisherMembershipCondition(microsoftCert),

new PolicyStatement(policy.GetNamedPermissionSet("FullTrust"),

PolicyStatementAttribute.Exclusive)

));

// Tạo code group cấp tập quyền Internet cho các

// assembly được phát hành bởi Litware, Inc.

X509Certificate litwareCert =

X509Certificate.CreateFromCertFile("litware.cer");

policy.RootCodeGroup.AddChild(new UnionCodeGroup(

new PublisherMembershipCondition(litwareCert),

new PolicyStatement(policy.GetNamedPermissionSet("Internet"),

PolicyStatementAttribute.Exclusive)

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.