Chúng tôi có một ứng dụng ASP.NET MVC 5 đã sử dụng Xác thực Mẫu với thời gian hết hạn trượt. Gần đây, chúng tôi đã chuyển sang OWIN Cookie Authentication và đang gặp sự cố với các phiên của chúng tôi không mở rộng đúng cách.Tại sao các yêu cầu AJAX của tôi không mở rộng phiên OWIN MVC?
Trước đây, phiên có thể được mở rộng từ yêu cầu AJAX xhr. Tuy nhiên, với cấu hình này, chúng không mở rộng. Tôi nhận được 200 cho mỗi yêu cầu (cả GET và POST) cần được mở rộng, ngay cả sau khi máy chủ đã giết phiên.
Các thiết lập hiện tại là:
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationType = "Cookies",
CookieSecure = CookieSecureOption.SameAsRequest,
CookieName = Constants.CatalystPortalCookieName,
LoginPath = new PathString(url.Action(nameof(LoginController.Index), "Login")),
SlidingExpiration = true,
ExpireTimeSpan = TimeSpan.FromMinutes(20),
CookiePath = "/",
});
Nếu tôi nhấp một liên kết mà làm cho toàn bộ trang được nạp như một phản ứng tài liệu, tuy nhiên, máy chủ đúng cách mở rộng phiên.
bạn đang sử dụng * Session.Abandon * giết phiên/đăng xuất? nếu vậy không đúng với OWIN. Với OWIN, bạn nên sử dụng phương pháp AuthenticationManager.SignOut –
Nếu bạn nhìn vào các tiêu đề phản hồi, bạn có thấy những thứ như bộ nhớ cache không? Nếu bạn có thể gặp phải vấn đề xung đột về cookie: http://katanaproject.codeplex.com/wikipage?title=System.Web%20response%20cookie%20integration%20issues – Tratcher
Nó có thể đáng để mở [fiddler] (http://www.telerik.com/fiddler) và kiểm tra các yêu cầu/phản hồi. –