Tôi đang triển khai ứng dụng web, sử dụng phiên. Tôi đang sử dụng GWT và công cụ ứng dụng như máy khách/máy chủ của tôi, nhưng tôi không nghĩ rằng họ đang làm bất kỳ điều gì thực sự khác với tôi và PHP, v.v. Tôi đang sử dụng HttpSession để bắt đầu một phiên cho họ. Tôi nhận được id phiên như sau:Bạn giữ cookie phiên trong bao lâu?
// From my login servlet:
getThreadLocalRequest().getSession(false).getId();
Tôi trả lại phiênId lại cho khách hàng và lưu trữ nó trong cookie. Các hướng dẫn, tôi đang sử dụng bộ cookie này để 'hết hạn' trong hai tuần:
Cookie.write("sid", theSessionId, 1000 * 60 * 60 * 24 * 14); // two weeks
Đây là nơi tôi đang bối rối: nếu cookie hết hạn trong hai tuần, sau đó người dùng của tôi sẽ đi cùng bằng cách sử dụng ứng dụng web hạnh phúc, chỉ một ngày duyệt đến trang web của tôi và được hiển thị một màn hình đăng nhập. Những lựa chọn của tôi là gì? Tôi có thể đặt không có thời gian hết hạn cho cookie này không? Bằng cách đó, người dùng sẽ phải đăng xuất một cách rõ ràng, nếu không họ chỉ có thể sử dụng ứng dụng mãi mãi mà không phải đăng nhập lại?
Hoặc có cách nào tốt hơn để thực hiện việc này không? Tôi không thể nhớ các trang web như Twitter đã từng yêu cầu tôi đăng nhập lại. Tôi dường như đã đăng nhập vĩnh viễn. Họ có chỉ đặt không hết hạn không?
Ứng dụng web không bảo vệ bất kỳ loại dữ liệu nhạy cảm nào, vì vậy tôi không ngại để lại cookie không hết hạn, nhưng có vẻ như phải có cách tốt hơn?
Đây là hướng dẫn tôi tham khảo:
http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ
Cảm ơn
Thông thường, rất nhiều ứng dụng web tôi đã thấy cho phép bạn đánh dấu "giữ tôi đăng nhập", giúp bạn đăng nhập vô thời hạn hoặc nếu không đăng nhập bạn sau khi trình duyệt đóng. – Corey