tôi đang tạo ra vé xác thực của riêng tôi bằng cách sử dụng đoạn mã sau:ASP.NET xác thực trượt hết thời gian trên vé tùy chỉnh
string formsCookieStr = string.Empty;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // version
username, // user name
DateTime.Now, // issue time
DateTime.Now.AddMinutes(30), // expires
false, // Persistence
userRoleData // user data
);
formsCookieStr = FormsAuthentication.Encrypt(ticket);
HttpCookie FormsCookie = new HttpCookie(FormsAuthentication.FormsCookieName, formsCookieStr);
HttpContext.Response.Cookies.Add(FormsCookie);
Tôi muốn kết thúc thời hạn là hết hạn trượt - mỗi lần khách hàng gửi một yêu cầu sau đó hết hạn phải được đặt lại thành 30 phút. Tuy nhiên, tôi chỉ tạo vé khi người dùng đăng nhập lần đầu. Liệu ASP.NET có tự động giữ thời gian hết hạn cho tôi hay tôi cần phải làm điều gì đó 'thủ công' để thực hiện hết hạn trượt?
cảm ơn. Nhưng chắc chắn mặc định khi không sử dụng vé tùy chỉnh là trượt hết hạn, nếu không người dùng sẽ bị đăng xuất bất kể yêu cầu cuối cùng của họ như thế nào? Tôi không quan sát hành vi này, và các tài liệu nói rằng hết hạn trượt là mặc định. Tôi có bị trượt hết hạn theo mặc định với vé tùy chỉnh của tôi không? (Tôi không có cài đặt trượtExpiration trong web.config) – Journeyman
"Cách trượt hết hạn hoạt động là trên mỗi yêu cầu động cơ ASP.NET ghi lại cookie xác thực bằng cách tăng thời gian chờ" ... Không hoàn toàn đúng, bởi vì ASP.net chỉ viết lại vé xác thực nếu hơn một nửa giá trị hết thời gian chờ đã trôi qua. http://weblogs.asp.net/rajbk/archive/2004/10/11/241080.aspx – BrazenTongue
@BrazenTongue - liên kết đã chết vào tháng 2 năm 2017, liệu có thể cung cấp thay thế không? – user3256944