537
Chương 13: Bảo mật
tra tư cách thành viên của một nhóm Windows chuẩn, bạn hãy sử dụng dạng
BUILTIN\[GroupName]
.
IsInRole
thực hiện kiểm tra có phân biệt chữ hoa-thường đối với
tên nhóm được chỉ định.
•
Phiên bản thứ hai nhận một số nguyên (
int
), số này chỉ định một Windows Role
Identifier (RID). RID cung cấp một cơ chế để nhận biết các nhóm, không phụ thuộc vào
ngôn ngữ (language) và sự bản địa hóa (localization).
•
Phiên bản thứ ba nhận một thành viên thuộc kiểu liệt kê
System.Security.Principal.WindowsBuiltInRole
. Kiểu liệt kê này định nghĩa các
thành viên mô tả các nhóm Windows có sẵn. Bảng 13.3 liệt kê tên, RID, và giá trị
WindowsBuiltInRole
cho mỗi nhóm Windows chuẩn.
Bảng 13.3 Tên, RID, và giá trị WindowsBuiltInRole của các tài khoản có sẵn
Tên tài khoản
RID (Hex)
Giá trị WindowsBuiltInRole
BUILTIN\Account Operators
0x224
AccountOperator
BUILTIN\Administrators
0x220
Administrator
BUILTIN\Backup Operators
0x227
BackupOperator
BUILTIN\Guests
0x222
Guest
BUILTIN\Power Users
0x223
PowerUser
BUILTIN\Print Operators
0x226
PrintOperator
BUILTIN\Replicators
0x228
Replicator
BUILTIN\Server Operators
0x225
SystemOperator
BUILTIN\Users
0x221
User
[
Lớp
WindowsIdentity
cung cấp các phương thức khởi dựng nạp chồng cho phép
bạn thu lấy đối tượng
WindowsIdentity
mô tả một người dùng nào đó (khi chạy
trên Microsoft Windows Server 2003 trở về sau). Bạn có thể sử dụng đối tượng
này và phương pháp được mô tả trong mục này để xác định xem người dùng đó
có phải là thành viên của một nhóm Windows nào đó hay không.
Nếu bạn sử dụng một trong các phương thức khởi dựng này khi chạy trên một
phiên bản Windows cũ, nó sẽ ném ngoại lệ
System.ArgumentException
. Trên các nền
Windows trước Windows Server 2003, bạn phải sử dụng mã lệnh nguyên sinh
(native code) để thu lấy Windows access token mô tả người dùng cần thiết. Kế đó,
bạn có thể sử dụng access token này để tạo đối tượng
WindowsIdentity
; mục 13.15
sẽ trình bày cách thu lấy Windows access token cho những người dùng cụ thể.
Ứng dụng
WindowsGroupExample
dưới đây trình bày cách kiểm tra người dùng hiện hành có là
thành viên của một tập các nhóm Windows được nêu tên hay không. Các nhóm này được chỉ
định trong các đối số dòng lệnh; bạn nhớ đặt tên máy tính, tên miền, hay
BUILTIN
(đối với các
nhóm Windows chuẩn) vào trước tên nhóm.