通过 SignInManager 展示登录状态
通过注入 SignInManager 完成登录状态的显式:
<div class="container">@inject SignInManager<IdentityUser> SignInManager<nav class="navbar navbar-expand-sm bg-dark navbar-dark">...<div class="collapse navbar-collapse" id="collapsibleNavbar">...<ul class="navbar-nav ml-auto">@if (SignInManager.IsSignedIn(User)){<li class="nav-item"><form asp-controller="Account" asp-action="Logout" method="post"><button type="submit" style="width: auto" class="nav-link btn btn-link py-0">注销 @User.Identity.Name</button></form></li>}else{<li class="nav-item"><a class="nav-link" asp-controller="Account" asp-action="Register">注册</a></li><li class="nav-item"><a class="nav-link" asp-controller="Account" asp-action="Login">登录</a></li>}</ul></div></nav>@RenderBody()</div>
注销
[HttpPost]public async Task<IActionResult> Logout(){await _signInManager.SignOutAsync();return RedirectToAction("Index", "Home");}
