.NET核心会话的不同会话超时

时间:2018-09-24 15:55:31

标签: asp.net-core session-timeout

我正在使用.net core 2构建API 我想更改不同用户的会话超时。就像每个会话的默认会话超时(24小时)一样(我可以通过服务配置来完成)。如果有人说“让我保持登录状态”,那么会话超时将是一个月或更长时间。

但是.net核心不像以前的.net版本一样具有Session.Current会话 我可以在其中更改会话超时值。

-谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

对于默认的cookie有效期,您可以在Startup.cs中进行设置:

services.ConfigureApplicationCookie(options =>
{
    options.ExpireTimeSpan = TimeSpan.FromHours(24);
});

对于那些想保持登录状态的人,您可以在登录时更改Cookie的到期日期:

var result = await this.signInManager.CheckPasswordSignInAsync(account, password, false);
if (result.Succeeded)
{
    await this.signInManager.SignInAsync(account, new AuthenticationProperties
    {
        ExpiresUtc = DateTime.UtcNow.AddDays(30),
        IsPersistent = true
    });
}