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

529

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

evidence.AddHost(siteEvidence);

evidence.AddHost(zoneEvidence);

// Nạp assembly có tên là "SomeAssembly" và gán các đối tượng Site và

// Zone cho nó. Các đối tượng này sẽ chép đè các đối tượng Site và Zone

// do bộ nạp assembly gán.

System.Reflection.Assembly assembly =

System.Reflection.Assembly.Load("SomeAssembly", evidence);

11.

11.

X lý b o m t b th c thi b ng ch ng c c a mi n ng d ng

ả ậ ộ ự

ứ ủ

ề ứ

X lý b o m t b th c thi b ng ch ng c c a mi n ng d ng

ả ậ ộ ự

ứ ủ

ề ứ

Bạn cần buộc một giới hạn trên (upper limit) lên các quyền đang có hiệu lực với
tất cả các assembly được nạp vào một miền ứng dụng cụ thể.

Cấu hình chính sách bảo mật để cấp các quyền phù hợp dựa trên chứng cứ mà
bạn dự định gán cho miền ứng dụng. Khi tạo miền ứng dụng bằng phương thức
tĩnh

CreateDomain

của lớp

System.AppDomain

, bạn hãy cung cấp một tập hợp

System.Security.Policy.Evidence

chứa các đối tượng chứng cứ của miền ứng

dụng. Sau đó, nạp các assembly mà bạn muốn giới hạn các quyền của chúng bên
trong miền ứng dụng này.

Đúng như bộ thực thi gán quyền cho assembly dựa trên chứng cứ mà assembly này đưa ra lúc
nạp, bộ thực thi cũng gán quyền cho các miền ứng dụng dựa trên chứng cứ của chúng. Bộ
thực thi không gán chứng cứ cho các miền ứng dụng theo cách như nó gán cho các assembly
vì không có gì để chứng cứ đó tựa vào. Thay vào đó, mã lệnh tạo miền ứng dụng phải gán
chứng cứ khi cần.

Bộ thực thi chỉ sử dụng các mức chính sách công ty (enterprise), máy (machine),
và người dùng (user
) để tính các quyền của một miền ứng dụng; các chính sách
bảo mật của các miền ứng dụng hiện có không giữ vai trò gì cả. Mục 13.12 sẽ
thảo luận chính sách bảo mật miền ứng dụng.

Các miền ứng dụng không có chứng cứ là trong suốt đối với các cơ chế bảo mật truy xuất mã
lệnh của bộ thực thi. Các miền ứng dụng được gán chứng cứ có một grant-set dựa trên chính
sách bảo mật và đóng một vai trò quan trọng trong việc phân giải các yêu cầu bảo mật CAS.
Khi quá trình thực thi ứng dụng xuyên qua một biên miền ứng dụng, bộ thực thi ghi lại việc
chuyển tiếp trên call stack. Khi một yêu cầu bảo mật gây nên một stack walk, bản ghi chuyển
tiếp miền ứng dụng được xử lý giống như các bản ghi stack khác—bộ thực thi đánh giá grant-
set kết giao với bản ghi stack để bảo đảm nó chứa các quyền được yêu cầu. Điều này nghĩa là
các quyền của một miền ứng dụng ảnh hưởng đến tất cả mã lệnh được nạp vào miền ứng
dụng. Thưc tế, miền ứng dụng thiết lập một giới hạn trên lên các khả năng của tất cả mã lệnh
được nạp vào nó.
Một ví dụ quan trọng trong sử dụng chứng cứ miền ứng dụng là Microsoft Internet Explorer.
Internet Explorer tạo một miền ứng dụng cho mỗi site mà nó download các điều kiểm được-
quản-lý từ đó. Tất cả các điều kiểm được download từ một site cho trước—cũng như các
assembly mà chúng nạp—chạy trong cùng miền ứng dụng. Khi Internet Explorer tạo miền

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.