我遇到的问题是 User.Identity.Name 仅在我的本地Visual Studio环境中空出来。当站点在IIS上发布时,它可以正常工作并获得正确的用户。
我在线搜索了这个问题,但看起来大多数建议的解决方案都建议用于IIS环境并要求更改配置文件。我的配置文件如下所示:
<system.web>
<compilation debug="true" targetFramework="4.6" />
<httpRuntime targetFramework="4.6" />
<customErrors mode="Off" />
<authentication mode="Windows" />
<!--<authorization>
<allow roles="IS APPS" />
<deny users="?" />
</authorization>-->
</system.web>
我必须注释掉 的部分,因为如果我打开它,我会遇到401.2 HTTpError
答案 0 :(得分:1)
解决问题的选项,您必须在计算机上启用Windows身份验证功能(具有相同的问题一次):
替代:可能只是配置问题:
<authentication mode="Windows">
<anonymousAuthentication enabled="false" userName="" />
</authentication>
答案 1 :(得分:0)
以下是我从另一个SO POST中找到的答案。不知道为什么这个没有被标记为该POST的答案:
Authentication issue when debugging in VS2013 - iis express
<强>答案:强>
在Visual Studio 2013中,只需按F4并更改这两个属性即可 匿名身份验证:禁用Windows身份验证:启用