c# - 鉴于一台服务器上的 ASP.Net MVC 站点但另一台服务器上的 ASP.Net MVC 站点,HttpContext.Current.User.Identity 为空/空
问题描述
我有一个在内部服务器上运行的 ASP.Net MVC 站点。站点上的视图@HttpContext.Current.User.Identity.Name
用于显示通过浏览器访问站点的用户的名称。身份验证模式设置为 Windows。
在我们的一台服务器上运行时,它按预期工作。当在第二台服务器上运行相同的代码时,整个 Identity 对象似乎是空的。与第一台服务器相比,第二台服务器通过防火墙更加隔离。
什么样的规则可以阻止 Identity 对象被填充?
在 web.config 我也有
<authorization>
<deny users="?" />
</authorization>
这应该可以防止任何匿名用户访问该站点。由于我能够查看该站点,因此我假设它认为我已获得授权。
- ASP.Net MVC v5.2.7.0
- .Net 框架 v4.6.1
- 赢服务器 2012 IIS 8.5
解决方案
匿名和 Windows 身份验证均已打开。需要关闭匿名。
推荐阅读
- swift - 具有 nil 值的 Swift 闭包捕获列表
- swift - Swift 2.2 应用程序不再适用于 macOS 10.14 Mojave
- android - 从异步方法传递 ArrayList
- c++ - 在 lambda 函数中捕获静态成员变量
- jupyter-notebook - Jupyterhub 在登录时创建用户和主页
- android - 如何在特定秒数后显示不同的文本?
- c# - c# DevExpress GridControl
- python - 使用 osmo-sim-auth Python 脚本进行 SIM/USIM 身份验证
- openshift - 在基于 OpenShift Online 的应用程序中写入文件
- android - 使用 Cipher.doFinal() 进行 RSA 解密不会恢复原始纯文本