Thông tin về người dùng được xác thực được lưu trữ trong FormsAuthenticationTicket
trong cookie, theo mặc định có tên .ASPXAUTH.
Thông tin về phiên của người dùng tách biệt với thông tin về xác thực. Mã định danh cho phiên có thể được lưu trữ trong cookie (một cookie khác từ cookie xác thực) hoặc, như Henk đã chỉ ra, trong phiên không có cooki tức là một phần của URL.
Sự cố khi lưu trữ một số thông tin về xác thực trong phiên của người dùng là phiên không khả dụng cho đến một thời gian sau sự kiện xác thực (5 sự kiện sau IIRC) trong đường ống xử lý, trong PostAcquireRequestState
. Điều này có nghĩa là bạn sẽ không có quyền truy cập vào dữ liệu xác thực trong phiên cho đến khi sau khi xác thực!
Có thể lưu trữ dữ liệu trong phiên và ghi đè IIdentity
và IPrincipal
bằng dữ liệu đó, nhưng điều này có nghĩa là danh tính người dùng sẽ có một số dữ liệu cho các sự kiện trước khi phiên khả dụng và dữ liệu khác nhau cho các sự kiện sau phiên có sẵn, có thể hoặc không có vấn đề gì. Hơn nữa, bạn có thể muốn bảo mật mật mã dữ liệu đó trong phiên theo một cách nào đó.
Để trả lời câu hỏi tiêu đề của bạn, xác thực biểu mẫu không yêu cầu phiên; họ là những thực thể riêng biệt cần thiết cho các mục đích khác nhau.
Nguồn
2011-01-03 11:03:40
+1 Cảm ơn bạn đã thực hiện bằng chứng về khái niệm –