Я работаю над приложением AspnetCore 2.1 MVC, оно имеет встроенную аутентификацию Windows.Я реализовал функцию входа в систему, выхода из системы с помощью await HttpContext.SignInAsync ().это проверка подлинности на основе файлов cookie, срок действия файлов cookie истекает через указанное время, которое я предоставляю.
Моя проблема в том, что я должен скрыть выход из панели навигации после выхода пользователя из системы.но в _layout.cshtml @ User.Identity.Is подлинность всегда верна, даже если пользователь выходит из системы.Любая помощь ?ниже приведен код, который я использую
<div class="navbar-collapse collapse">
@if(User.Identity.IsAuthenticated)
{
<ul class="nav navbar-nav">
<li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
<li><a asp-area="" asp-controller="InitiatedCases" asp-action="Index">Initiated Cases</a></li>
<li><a asp-area="" asp-controller="SubmittedCases" asp-action="Index">Submitted Cases</a></li>
<li><a asp-area="" asp-controller="UserAccessLogs" asp-action="Index">User Access Log</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a asp-controller="Account" asp-action="Logout">Logout</a></li>
<li><p class="nav navbar-text navbar-right">@User.Identity.Name!</p></li>
</ul>
}
else
{
<p></p>
}
</div>
ниже указан логин
var usrRole = _dbContext.UserAccess.Where(r => r.UserId == loginUser.UserId).FirstOrDefault();
var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
identity.AddClaim(new Claim(ClaimTypes.Name, loginUser.UserId.ToString()));
identity.AddClaim(new Claim("DisplayName", loginUser.UserId));
if (usrRole != null)
{
identity.AddClaim(new Claim(ClaimTypes.Role, usrRole.UserRole.ToString()));
}
await HttpContext.SignInAsync(
CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(identity),
new AuthenticationProperties
{
IsPersistent = true,
IssuedUtc = DateTime.Now,
ExpiresUtc = DateTime.Now.AddMinutes(_iconfiguration.GetValue<double>("Session:TimeOutInMinutes")),
AllowRefresh = false
});