MVC核心@用户.身份剃刀中的名称返回null



它运行得很好,并使用@User在本地机器上返回名称(windows身份验证(。身份名称但是,如果我将它从本地服务器移动到dev服务器,它只会返回不带名称的文本。不确定为什么@User。身份我推的时候名字不起作用。

<div class="navbar-collapse">
<p class="nav navbar-text navbar-right">    
<script id="greetings">
document.write('Hello, ');
</script>
@User.Identity.Name
</p>
</div>

它运行良好,并使用@User在本地(windows身份验证(中返回名称。身份名称但是,如果我将它从本地服务器移动到dev服务器,它只会返回不带名称的文本。

正如我们在评论中所讨论的,如果启用匿名身份验证,将导致此问题。

此外,我们可以先检查用户是否经过身份验证,然后在查看页面中显示当前非匿名用户的姓名,而不是直接访问User.Identity.Name

<div class="navbar-collapse">
<p class="nav navbar-text navbar-right">
<script id="greetings">
document.write('Hello, ');
</script>

@if (User.Identity.IsAuthenticated)
{
<span>@User.Identity.Name</span>
}
else
{
<span>Anonymous user</span>
}
</p>
</div>

相关内容

  • 没有找到相关文章