253
Chương 7: ASP.NET và Web Form
8.
8.
S d ng IIS authentication
ử ụ
S d ng IIS authentication
ử ụ
Bạn cần ngăn người dùng truy xuất các trang nào đó trừ khi họ đã được xác
thực dựa vào Windows user account (tài khoản người dùng Windows) trên
server.
Sử dụng IIS Windows authentication. Chọn phương pháp xác thực mà bạn thích,
và từ chối truy xuất nặc danh đến thư mục ảo bằng IIS Manager. Bạn có thể lấy
thông tin về người dùng đã được xác thực từ thuộc tính
Page.User
hoặc lớp
HttpContext
.
IIS và ASP.NET sử dụng mô hình bảo mật được sắp lớp (layered security model). Khi người
dùng yêu cầu một trang ASP.NET trên HTTP, các bước dưới đây sẽ diễn ra:
1. IIS thực hiện việc xác thực người dùng. Nếu Anonymous access được kích hoạt, IIS sẽ
tự động đăng nhập người dùng với tài khoản nặc danh (IUSR_[ServerName]). Nếu
không, nó sẽ yêu cầu thông tin xác thực để đăng nhập người dùng với một tài khoản
Windows khác.
2. Nếu IIS xác thực người dùng thành công, nó sẽ chuyển yêu cầu đến ASP.NET cùng với
thông tin về người dùng đã được xác thực. Theo đó, ASP.NET có thể sử dụng các dịch
vụ bảo mật của nó dựa vào các thiết lập trong file Web.config (ví dụ, không cho người
dùng hoặc nhóm cụ thể truy xuất đến các trang hoặc thư mục nào đó). Ngoài ra, mã của
bạn có thể hạn chế các hành động bằng cách kiểm tra thông tin về người dùng.
3. Nếu mã ASP.NET truy xuất bất kỳ tài nguyên hệ thống nào (ví dụ, mở một file hoặc kết
nối đến một cơ sở dữ liệu), hệ điều hành Windows sẽ thực hiện những kiểm tra bảo mật
của nó. Thông thường, mã ứng dụng ASP.NET không thực sự chạy dưới tài khoản của
người dùng đã được xác thực. Như thế, những kiểm tra bảo mật này được thực hiện dựa
trên tài khoản tiến trình ASPNET (được cấu hình bằng file machine.config).
Để sử dụng IIS authentication, bước đầu tiên là vô hiệu Anonymous access cho thư mục ảo.
Bạn cần khởi động IIS Manager (vào Start | Control Panel | Administrative Tools | Internet
Information Services). Kế tiếp, nhắp phải vào một thư mục ảo hoặc một thư mục con bên
trong thư mục ảo, và chọn Properties. Chọn thẻ Directory Security (xem hình 7.5).