簡體   English   中英

MVC網站閑置一段時間后超時

[英]Timeout MVC website after period of inactivity

閑置一段時間后,我試圖使MVC網站超時。

我嘗試了很多事情,但似乎都沒有用。 我嘗試了以下方法:

使用CookieAuthenticationOptions類

  app.UseCookieAuthentication(new CookieAuthenticationOptions
  {
      ExpireTimeSpan = TimeSpan.FromMinutes(1),
      AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
      LoginPath = new PathString("/xxx")
   });

在web.config中使用表單身份驗證元素:

<authentication mode="Forms" >
    <forms loginUrl="~/xxxx"  timeout="1"/>
</authentication>

並在配置文件中使用sessionState:

<sessionState timeout="1"/>

但是這些似乎都不起作用。

我缺少什么,最好的方法是什么?

首先,您在這里混淆了兩個概念:會話超時和身份驗證超時。 換句話說,沒有“網站超時”之類的東西。 您需要弄清楚您實際上在試圖控制什么。 接下來,會話超時會逐漸增加 ,因此只要用戶正在積極使用網站,他們的會話就永遠不會超時。 但是,身份驗證超時是絕對的,因此,經過指定的時間后,無論用戶是否正在積極使用該站點,都將注銷該用戶。

就身份驗證超時而言,實際上您還在這里混淆了兩個概念:身份和成員身份(表單身份驗證)。 您擁有的第一部分代碼是如何在ASP.NET Identity中控制身份驗證超時,而第二部分代碼是如何通過ASP.NET Membership控制身份驗證超時。 兩者是互斥的,顯然需要與項目所使用的實際身份驗證機制相匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM