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

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

ứng dụng cho một site, nó gán chứng cứ

System.Security.Policy.Site

cho miều ứng dụng

này. Điều này bảo đảm rằng, nếu các điều kiểm được download nạp một assembly (ngay cả từ
đĩa cục bộ), các hành động của assembly này bị ràng buộc bởi các quyền được cấp cho miền
ứng dụng dựa trên chứng cứ

Site

và chính sách bảo mật.

Trừ khi bạn gán chứng cứ cho miền ứng dụng một cách tường minh khi tạo nó,
miền ứng dụng này không ảnh hưởng gì đến các yêu cầu bảo mật (security
demand
).

Để gán chứng cứ cho một miền ứng dụng, bạn hãy tạo một tập hợp

Evidence

và thêm các đối

tượng chứng cứ cần thiết vào đó bằng phương thức

Evidence.AddHost

. Khi tạo miền ứng dụng

mới, bạn truyền tập hợp

Evidence

cho một trong các phiên bản nạp chồng của phương thức

tĩnh

CreateDomain

. Quá trinh phân giai chinh sách thương ky cua bô thưc thi se xác đinh

grant-set của miền ứng dụng.
Ứng dụng dưới đây trình bày cách gán chứng cứ cho một miền ứng dụng. Trong đó, ứng dụng
nạp mã lệnh từ một publisher cụ thể vào một miền ứng dụng publisher cụ thê. Bằng cách gán
cho miều ứng dụng chứng cứ

System.Security.Policy.Publisher

mô tả publisher của phần

mềm, ví dụ này hạn chế các khả năng của mã lệnh được nạp vào miền ứng dụng. Sử dụng
chính sách bảo mật, bạn có thể gán mã lệnh của publisher một tập quyền cực đại tương xứng
với mức tin cậy bạn đặt vào publisher.

using System;

using System.Security.Policy;

using System.Security.Cryptography.X509Certificates;

public class AppDomainEvidenceExample {

public static void Main() {

// Tạo một miền ứng dụng mới cho mỗi publisher mà ứng dụng này

// sẽ nạp mã lệnh của nó. Truyền cho phương thức CreateAppDomain

// tên công ty, và tên của file chứa chứng chỉ X.509v3

// của công ty này.

AppDomain appDom1 = CreateAppDomain("Litware", "litware.cer");

AppDomain appDom2 = CreateAppDomain("Fabrikam", "fabrikam.cer");

// Nạp mã lệnh từ các publisher vào miền ứng dụng phù hợp

// để thực thi.

§

}

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.