我正在将一个Web应用程序迁移到新asp.net core模型,并突然遇到其中一个视图.
我找不到迁移相当于User和User.IsSignedIn()根据新的模型-视图中使用时,这样的...
@using System.Security.Claims
@if (User.IsSignedIn())
{
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试导入Microsoft.AspNetCore.Mvc.Razor库,我认为它会被保存,但它似乎不会那样工作.
Jan*_*anR 20
查看迁移文档,我认为这可能会这样做:
@using System.Security.Principal
@if (User.Identity.IsAuthenticated)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在此处找到:http://aspnetmvc.readthedocs.org/projects/mvc/en/latest/migration/migratingauthmembership.html
ASP.NET团队为RC2采用的方法是使用SignInManager.IsSignedIn:
@using Microsoft.AspNetCore.Identity
@using Mvc.Server.Models
@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager
@if (SignInManager.IsSignedIn(User)) {
<form asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right">
<ul class="nav navbar-nav navbar-right">
<li>
<a 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>
}
else {
<ul class="nav navbar-nav navbar-right">
<li><a asp-controller="Account" asp-action="Register">Register</a></li>
<li><a asp-controller="Account" asp-action="Login">Log in</a></li>
</ul>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5538 次 |
| 最近记录: |