Trả lời

9

Hình thức (FormsAuthention) được sử dụng để xác thực và khi nào hết thời gian sẽ đăng xuất người dùng. Bạn có thể 'ngăn chặn' thời gian chờ bằng cách đặt SlidingExpiration thuộc tính thành 'true' và nó sẽ gia hạn biểu mẫu vé cho hoạt động của người dùng (đọc yêu cầu tới asp) nếu cần. Điều này sẽ giữ cho người dùng đăng nhập trong khi anh ta 'hoạt động' trên trang web của bạn.

Membership được sử dụng cho người sử dụng xác nhận và userIsOnlineTimeWindow ở đó để giúp bạn theo dõi hoạt động người dùng nên khi nó chạy ra ngoài nó sẽ thiết lập IsOnline tài sản để 'false' cho người dùng đó. Một điều mới tôi phát hiện ra là nó cũng sẽ gia hạn hình thức vé trong khi người dùng isOnline được thiết lập, sự khác biệt chính là nó không mới tự tự động nhưng chỉ khi nó GetUser() hoặc ValidateUser () phương thức được chạy.

Khi phiên lần hết, bạn sẽ mất dữ liệu trong đối tượng Session. Đó là tất cả.

+0

Bạn có chắc đó là tất cả? –

+3

@AranMulholland Và nhà sưu tập garabage sẽ xóa bộ nhớ và tại một số điểm một số người đàn ông ở Trung Quốc sẽ hắt hơi. – Bizniztime

+0

và đó là tất cả? Quá buồn cười :) –

0

Lưu ý hành vi sau:

Bạn đặt Thời gian chờ của phiên = 10 phút và Thời gian chờ xác thực biểu mẫu = 8 phút.

Người dùng đăng nhập vào trang web của bạn bằng Xác thực biểu mẫu.

Cả đồng hồ "Đồng hồ" và Xác thực mẫu "đồng hồ" bắt đầu chạy.

Giả sử bạn giữ một số thông tin cần thiết cho hoạt động của trang web trong Phiên (Ví dụ: Phiên ["userData"] = userData;).

Người dùng không sử dụng trong 9 phút.

Sau 8 phút phiên làm việc hết giờ và dữ liệu của người dùng bị xóa.

Lúc 9 phút khi người dùng cố gắng thực hiện một số hoạt động trên trang web, bạn tham khảo một cách ngây thơ Phiên ["userData"] để nhận thông tin của mình. Kể từ khi nó là null, ông sẽ nhận được lỗi 500 cho một tài liệu tham khảo null.

Kết luận: Giữ thời gian chờ xác thực biểu mẫu ngắn hơn thời gian chờ của phiên.

Các vấn đề liên quan