如何在ASP.NET Core 2中添加身份验证Cookie超时时间

3
我有一个已经存在的ASP.NET Core 1.1生产项目,我已经将其升级到ASP.NET Core 2。
在ASP.NET Core 1.1中,我这样设置了ASP.NET Core身份验证cookie,时间为2小时。
public void ConfigureServices(IServiceCollection services)
{

    services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
    {
        options.Cookies.ApplicationCookie.CookieName = "MyApp";
        options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromMinutes(120);
     })
    .AddEntityFrameworkStores<MyDbContext, Guid>()
    .AddDefaultTokenProviders();

然而在ASP.NET 2.0 Core中,Cookies属性已经从AddIdentity选项中删除。

1个回答

4

如果你想调整身份验证cookie,它们不再是IdentityOptions的一部分。 你需要像这样使用services.ConfigureApplicationCookie

    public void ConfigureServices(IServiceCollection services)
    {
        ....
        services.ConfigureApplicationCookie(options => {
            options.CookieName = "MyApp";
            options.ExpireTimeSpan = TimeSpan.FromMinutes(120);
        });
        ....
    }

注意:CookieName属性已经过时,将在将来的版本中被删除。建议使用Cookie.Domain作为替代方案。

它如何知道上述超时与我的身份验证 cookie 相关联,而不是像使用会话 cookie 一样的其他 cookie? - dfmetro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接