Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Giữ phiên đăng nhập khi idle timeout ngắn

10:22 17-03-2018 1.513 lượt xem 2 bình luận 02:47 19-03-2018

Em sử dụng Cookie khi user đăng nhập:  FormsAuthentication.SetAuthCookie(model.UserName, true);

Tại BaseController e sử dụng User.Identity.IsAuthenticated trong hàm OnActionExecuted để check trạng thái login của User mỗi khi có action gì.

Webconfig: 

<authentication mode="Forms">
      <forms defaultUrl="/Home" loginUrl="/Login/Index" slidingExpiration="true" cookieless="AutoDetect" timeout="999"></forms>
    </authentication>

Test trên máy local thì OKE. nhưng khi deploy lên hosting, mà giá trị idle timeout = 5 min (Giá trị này provider không cho change)

Cứ 5 min mà k có action gì trên web là nó lại văng ra trang Login.

Có bác nào có cao kiến gì không ạ?

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
whynotme8998 đã bình luận 02:47 19-03-2018

Nếu viết trong code behind thì sử dụng thằng này: 

ServicePoint sp1 = ServicePointManager.FindServicePoint(new Uri("http://www.microsoft.com"));

Gọi sp1.ConnectionLeaseTimout ra gán giá trị cho nó

whynotme8998 đã bình luận 02:46 19-03-2018

Cấu hình trong file config:

 

<configuration>
 <system.net>
  <connectionManagement>
   <add address="http://www.contoso.com" maxconnection="2" />
   <add address="192.168.1.2" maxconnection="4" />
   <add address="*" maxconnection="1" />
  </connectionManagement>
 </system.net>
</configuration>

Câu hỏi mới nhất