Giữ người dùng đăng nhập khi khởi động lại trình duyệt


0

Đối với mục đích đăng xuất, sau khi hết thời gian phiên, tôi sử dụng đoạn mã này

if (context.Session.IsNewSession)
{
     string sessionCookie = context.Request.Headers["Cookie"];
     if ((null != sessionCookie) && (sessionCookie.IndexOf("ASP.NET_SessionId") >= 0))
     {
          var controller = (BaseController)filterContext.Controller;
          var routeValueDictionary = new RouteValueDictionary(new { controller = "Account", action = "SessionLogOff", area = string.Empty });
          filterContext.Result = new RedirectToRouteResult(routeValueDictionary);
      }
}

Điều đó được triển khai trong OnActionExecuting dưới dạng ActionFilterAttribution.

Tôi đang sử dụng ASPNet Identity 2.2 và MVC 5.2.

Điều này hoạt động tốt, khi một phiên hết hạn và Phiên.IsNewSession là đúng.

Vấn đề của tôi là khi trình duyệt được khởi động lại, ứng dụng khởi động và người dùng đã tồn tại (cookie), Phiên.IsNewSession là đúng và người dùng đó đã đăng xuất trong hành động đầu tiên mà anh ta cố gắng thực hiện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.