Как установить срок действия входа в систему в 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 для деталей.