Giá trị bạn đang đặt trong timeout
thuộc tính là một trong những cách chính xác để đặt giá trị thời gian chờ phiên.
Các timeout
quy định cụ thể thuộc tính số phút một phiên có thể nhàn rỗi trước khi nó bị bỏ hoang. Giá trị mặc định cho thuộc tính này là 20.
Bằng cách chỉ định giá trị 1 cho thuộc tính này, bạn đã đặt phiên bị bỏ trong 1 phút sau khi không hoạt động.
Để kiểm tra điều này, hãy tạo một trang aspx đơn giản và viết mã này trong sự kiện Page_Load,
Response.Write(Session.SessionID);
Mở một trình duyệt và đi đến trang này. Một id phiên sẽ được in. Đợi một phút để vượt qua, sau đó nhấn refresh. Id phiên sẽ thay đổi.
Bây giờ, nếu dự đoán của tôi là chính xác, bạn muốn làm cho người dùng của mình đăng xuất ngay sau khi phiên kết thúc. Để thực hiện việc này, bạn có thể tạo một trang đăng nhập để xác minh thông tin đăng nhập của người dùng và tạo một biến phiên như thế này -
Session["UserId"] = 1;
Bây giờ, bạn sẽ phải thực hiện kiểm tra trên mỗi trang cho biến này như thế này -
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
Đây là một ví dụ cơ bản về cách thức này sẽ hoạt động.
Nhưng, để làm cho các ứng dụng an toàn chất lượng sản xuất của bạn, hãy sử dụng các lớp Vai trò & Thành viên do ASP.NET cung cấp. Họ cung cấp xác thực dựa trên Biểu mẫu, đáng tin cậy hơn nhiều so với xác thực dựa trên Phiên thông thường mà bạn đang cố sử dụng.