259
Chương 7: ASP.NET và Web Form
Bây giờ, ASP.NET sẽ tự động gửi các yêu cầu chưa được xác thực (đối với các trang trong thư
mục con) đến trang đăng nhập tùy biến.
Một tùy chọn khác không cho truy xuất đến các trang cụ thể trong thư mục hiện thời là sử
dụng thẻ
<location>
:
<configuration>
<system.web>
<!-- Bỏ qua các thiết lập khác. -->
</system.web>
<location path="SecurePage.aspx">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
Bạn cũng có thể từ chối các người dùng cụ thể bằng cách nhập danh sách tên người dùng
(phân cách bằng dấu phẩy) thay vào ký tự “
?
” (“
?
” nghĩa là “tất cả các người dùng nặc danh”).
Kế tiếp, bạn cần tạo trang đăng nhập. Trang đăng nhập có thể xác thực người dùng bằng
password được viết cứng (phù hợp cho các thử nghiệm đơn giản), cơ sở dữ liệu phía server,
hoặc bất kỳ kiểu logic xác thực tùy biến nào. Một khi người dùng đã được xác thực thành
công, bạn cần gọi phương thức tĩnh
FormsAuthentication.RedirectFromLoginPage
. Phương
thức này sẽ thiết lập authentication cookie và chuyển hướng người dùng đến trang được yêu
cầu lúc đầu.
Dưới đây là trang đăng nhập sơ bộ, chỉ kiểm tra một password cụ thể khi người dùng nhắp
vào nút Login:
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.Security;
public class LoginPage : System.Web.UI.Page {
protected System.Web.UI.WebControls.Label lblStatus;
protected System.Web.UI.WebControls.Button cmdLogin;
protected System.Web.UI.WebControls.TextBox txtPassword;
protected System.Web.UI.WebControls.TextBox txtName;