Как добавить тайм-аут cookie идентификации пользователя в ASP.NET Core 2

У меня есть существующий производственный проект ASP.NET Core 1.1, который я обновил до ASP.NET Core 2.

Я установил cookie аутентификации идентификации ASP.NET Core, как это в ASP.NET Core 1.1, на 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 ответ

Решение

Если вы хотите настроить куки-файлы Identity, они больше не являются частью IdentityOptions. Вы будете использовать services.ConfigureApplicationCookie как это-

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

Замечания: CookieName свойство устарело и будет удалено в следующей версии. Рекомендуемая альтернатива Cookie.Domain,

Другие вопросы по тегам