html - razor 中的 MVC Core @User.Identity.Name 返回 null
问题描述
它运行得很好,并使用@User.Identity.Name 返回我本地机器上的名称(Windows 身份验证)。但是,如果我将它从本地移动到开发服务器,它只会返回没有名称的文本。不知道为什么我推送时@User.Identity.Name 不起作用。
<div class="navbar-collapse">
<p class="nav navbar-text navbar-right">
<script id="greetings">
document.write('Hello, ');
</script>
@User.Identity.Name
</p>
</div>
解决方案
它运行得很好,并使用@User.Identity.Name 在我的本地(Windows 身份验证)中返回名称。但是,如果我将它从本地移动到开发服务器,它只会返回没有名称的文本。
正如我们在评论中所讨论的,如果启用了匿名身份验证,则会导致此问题。
另外,我们可以先检查用户是否被认证,然后在视图页面中显示当前非匿名用户的名称,而不是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>
推荐阅读
- sql - 如何编写 hql/sql 来解决以下问题
- javascript - 如何在 Javascript 中创建全局变量函数
- docker - 如何在 Docker 可写层中写入或创建新数据
- kubernetes - oc 和 kubectl 命令有什么区别?
- reactjs - React State Hook - 切换一个类
- laravel - 如何使用 laravel app 和 twilio 配置 whatapp 的聊天
- composer-php - 如何修复“https://repo.packagist.org/packages.json 不包含有效的 Json”?
- javascript - 如何在 Laravel 中使用 Ajax 调用基于其他下拉菜单添加下拉菜单?
- powershell - 错误后powershell脚本无法继续。已经在代码中无声地继续
- ionic-framework - 有没有办法使用来自 Snapkit 登录 Web api 的访问令牌获取用户 Bitmoji?