フォーム認証とスライド有効期限を使用している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のようなものが見えますか?もしそうなら、あなたはクッキー競合の問題にぶつかっているかもしれません:http://katanaproject.codeplex.com/wikipage?title=System.Web%20response%20cookie%20integration%20issues – Tratcher
オープンしている価値があるかもしれません[フィドラー](http: /www.telerik.com/fiddler)、リクエスト/レスポンスを調べます。 –