我刚刚将 Identity 添加到我的 MVC 项目中,在测试它时我发现我无法注销。 我没有修改任何生成的文件。刚刚将 _LoginPartial 添加到我的 _Layout 中。登录和注册链接有效,但当用户登录时,链接更改为管理和注销,它们都只是重定向到登录页面,而用户保持登录状态。
这是我的_LoginPartial的代码:
@using Microsoft.AspNetCore.Identity
@using BlogSharp.Areas.Identity.Data
@inject SignInManager<User> SignInManager
@inject UserManager<User> UserManager
<ul class="navbar-nav">
@if (SignInManager.IsSignedIn(User))
{
<li class="nav-item">
<a id="manage" class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Manage/Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
</li>
<li class="nav-item">
<form id="logoutForm" class="form-inline" asp-area="Identity" asp-page="/Account/Logout" asp-route-returnUrl="@Url.Action("Index", "Home", new { area = "" })">
<button id="logout" type="submit" class="nav-link btn btn-link text-dark border-0">Logout</button>
</form>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link text-dark" id="register" asp-area="Identity" asp-page="/Account/Register">Register</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" id="login" asp-area="Identity" asp-page="/Account/Login">Login</a>
</li>
}
</ul>
正如我所说,我没有改变任何东西
我有麻烦吗?你有解决办法吗?