Как установить срок действия входа в систему в ASP.NET Core Identity

Ссылка:
Создание вашего первого веб-API с помощью ASP.NET Core MVC и Visual Studio

Сценарий:
(a) Решение.NET Core 1.0 Web API было создано с использованием вышеуказанной ссылки.
(б) Это решение было запущено в режиме отладки.
(c) зарегистрированный пользователь
(d) этот пользователь вошел в систему
(e) много часов спустя этот пользователь все еще вошел в систему

Все еще в том же сеансе отладки, этот код выполняется:

@using Microsoft.AspNetCore.Identity

@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager

@if (SignInManager.IsSignedIn(User))
{
    <form asp-area="" asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right">
        <ul class="nav navbar-nav navbar-right">
            <li>
                <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
            </li>
            <li>
                <button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button>
            </li>
        </ul>
    </form>
}

Мое невыполненное ожидание состояло в том, что время входа вышеупомянутого пользователя истекло бы; тем не мение, Hello *example user*! а также Log off снова отображаются в navbar; щелкающий Log off выходит из примера пользователя.

Итак, как установить время истечения в ASP.NET Core Identity, чтобы
(а) вошедший в систему пользователь может выйти из системы через фиксированный период времени, например, 8 часов,
(b) вошедший в систему пользователь может выйти из системы после определенного периода бездействия, например, 30 минут?

1 ответ

Чтобы ответить на ваши вопросы:

Q: вошедший в систему пользователь может выйти из системы через фиксированный промежуток времени, например, 8 часов
A: Установите ExpireTimeSpan на варианты печенья до 8 часов.

Вопрос: вошедший в систему пользователь может выйти из системы после определенного периода бездействия, например, 30 минут?
A: Установите ExpireTimeSpan до 30 минут и установить SlidingExpiration в True,

Прочитайте https://docs.asp.net/en/latest/security/authentication/cookie.html и https://docs.asp.net/en/latest/security/authentication/cookie.html для деталей.

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