我研究Identity登入驗證機制似乎預設是使用Cookie
查了很多方向始終解決不了
https://stackoverflow.com/questions/77799783/asp-net-core-6-session-timeout-is-not-working
有關應用程式集區的閒置時間也設定過了...
我登入時使用內建的登入方法RefreshSignInAsync()
startup有關驗證Cookie的設置:
//ConfigureServices部分
services.ConfigureApplicationCookie(options =>
{
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
options.LoginPath = "/Account/Signature";
options.SlidingExpiration = true;
});
//Configure部分
app.UseSession();
app.UseAuthentication();
app.UseAuthorization();
在沒有任何登出功能的情況下,照理說我每一次刷新頁面,應該都是60分後才會登出吧?
但我測試
不知道有沒有熟悉這方面的大大可以解釋一下他的機制到底怎麼運作...
如果是使用Session 其實我也有設定Timeout為60分....被搞得好亂啊
感謝大大
Identity登入驗證機制似乎預設是使用Cookie 這句話是正確的
我理解它的原理是,當使用 Identity 內的方法去驗證身分時 :
依照你的例子,確實要重置時間,但結果沒有
可以確認應用程式集區的閒置時間不能設置比 Cookie 短
可以測試方式 :
你可以試試看這種方法去抓過期時間,釐清檢查
希望有幫助到你 ~