12
我們有一個ASP.NET MVC 5應用程序,該應用程序一直使用帶有過期失效的表單身份驗證。我們最近切換到OWIN Cookie身份驗證,並且遇到了我們的會話沒有正確擴展的問題。爲什麼我的AJAX請求不能擴展OWIN MVC會話?
以前,會話可以從AJAX xhr請求擴展。但是,通過這種配置,它們不會延伸。即使在服務器已經終止會話之後,對於每個請求(包括GET和POST),我都會收到200個應該擴展的請求。
目前的設置是:
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 = "/",
});
如果我點擊,導致整個頁面被加載爲響應文件的鏈接,但是,服務器適當延長會議。
您使用* session.abandon *殺死會話/註銷?如果這樣的話與OWIN不正確的話。使用OWIN,你應該使用AuthenticationManager.SignOut方法 –
如果你看看響應頭文件,你會看到諸如no-cache set之類的東西嗎?如果是這樣,你可能會碰到cookie衝突問題:http://katanaproject.codeplex.com/wikipage?title=System.Web%20response%20cookie%20integration%20issues – Tratcher
它可能是值得開裂[fiddler](http:///www.telerik.com/fiddler)並檢查請求/響應。 –