[英]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.