515
Chương 13: Bảo mật
mật quan trọng. Đoạn mã dưới đây trình bày cách sử dụng thuộc tính
SecurityEnabled
để vô
hiệu và kích hoạt CAS:
// Vô hiệu CAS.
System.Security.SecurityManager.SecurityEnabled = false;
// Lưu cấu hình.
System.Security.SecurityManager.SavePolicy();
// Kích hoạt CAS.
System.Security.SecurityManager.SecurityEnabled = true;
// Lưu cấu hình.
System.Security.SecurityManager.SavePolicy();
Để vô hiệu CAS, mã lệnh của bạn phải có phần tử
ControlPolicy
của
System.Security.Permissions.SecurityPermission
. Để kích hoạt CAS, bạn không cần phải
có quyền cụ thể nào.
Thay đổi
SecurityEnabled
sẽ không ảnh hưởng đến hoạt động của CAS trong các tiến trình
hiện có, và cũng không ảnh hưởng đến các tiến trình mới cho đến khi bạn gọi phương thức
SavePolicy
để lưu trạng thái của
SecurityEnabled
vào Windows Registry. Đáng tiếc, .NET
Framework không bảo đảm những thay đổi của
SecurityEnabled
sẽ tác động đúng đến hoạt
động của CAS trong tiến trình hiện hành. Do đó, bạn phải thay đổi
SecurityEnabled
rồi mở
một tiến trình mới để có được hoạt động đúng như mong muốn.
Hình 13.1 Registry Editor (CAS đã bị vô hiệu)
Trạng thái hiện hành của CAS (on/off) được lưu trong khóa HKEY_
LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\Policy của
Windows Registry. Nếu khóa này không tồn tại, mặc định CAS là on.