在ASP.Net Core中,使用Cookie身份验证时,默认情况下Cookie是持久的,也就是说会在浏览器中保存一段时间。如果你想要Cookie不是持久的,可以通过以下代码示例来解决:
services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromMinutes(20); // 设置Cookie的过期时间为20分钟,这样Cookie将在20分钟后过期
options.SlidingExpiration = true; // 设置为true,则在每个请求时,Cookie的过期时间将会被重置,这样Cookie将在20分钟内一直保持有效
options.Cookie.MaxAge = TimeSpan.FromMinutes(20); // 设置Cookie的最大存活时间为20分钟,这样即使浏览器关闭,Cookie也会在20分钟后过期
options.Cookie.IsEssential = true; // 设置Cookie为必须的,即使用户拒绝接受Cookie,也会强制使用
});
app.UseAuthentication();
这样设置后,Cookie将在20分钟后过期,即使用户关闭浏览器也会过期,并且在每个请求时,Cookie的过期时间会被重置。
希望对你有所帮助!