Tôi có ứng dụng MVC 4 và gặp sự cố khi phiên biểu mẫu hết hạn và sau đó người dùng cố gắng đăng xuất.Khi đăng xuất, mã thông báo chống giả mạo được cung cấp cho người dùng "XXXX", nhưng người dùng hiện tại là ""
Ví dụ: thời gian chờ được đặt là 5 phút. Nhật ký người dùng. Người dùng không làm gì trong 10 phút. Người dùng nhấp vào liên kết Đăng xuất. Người dùng gặp lỗi: "Mã thông báo chống giả mạo được cung cấp dành cho người dùng" XXXX ", nhưng người dùng hiện tại là" "."
Người dùng sau đó phải trải qua một số môn thể dục dụng cụ để giải quyết vấn đề này để họ có thể đăng nhập lại sau đó đăng xuất lại (đăng xuất đang được sử dụng để đóng bảng thời gian cho ngày đó).
Tôi nghĩ rằng tôi hiểu tại sao điều này xảy ra ... nhưng không chắc chắn cách khắc phục.
EDIT: Tại sao tôi nghĩ điều này xảy ra là vì ban đầu khi trang được tải, mã thông báo AntiForgery được tạo cho người dùng hiện đã đăng nhập. Nhưng sau đó khi phiên hết hạn và họ cố gắng điều hướng đến trang đăng xuất, người dùng hiện tại là "" thay vì người dùng thực tế. Như vậy có sự không phù hợp và lỗi được hiển thị.
Bạn có thể chia sẻ giả thuyết của bạn tại sao lỗi xảy ra? – J0e3gan
Một [bài viết liên quan] (http://stackoverflow.com/questions/14970102/anti-forgery-token-is-meant-for-user-but-the-current-user-is-username) có giá trị xem xét. – J0e3gan
Nhập giả thuyết của tôi. Tôi thấy bài viết mà bạn đã đề cập đến, và mặc dù nó có thể liên quan, tôi không thể kết nối các dấu chấm ... Tôi không thực sự quen thuộc với khía cạnh này của ASP.NET. –