【问题标题】:How to get request context user name如何获取请求上下文用户名
【发布时间】:2014-09-24 15:15:07
【问题描述】:

在我的应用程序中,我设置了以下行来设置windows 身份验证。

使用 Visual Studio 执行网站。

   `<authentication mode="Windows"></authentication>`

当我尝试使用获取上下文用户名时 `System.Web.HttpContext.Current.User.Identity.Name" 然后,它给了我 仅限空值。

请指导我,我希望它返回 - windows 登录,因为身份验证是 windows。

请指导。

【问题讨论】:

  • 为什么要投反对票。它面临的问题。如果需要任何详细信息,请告诉我。
  • System.Net.CredentialCache.DefaultNetworkCredentials.UserName; System.Net.CredentialCache.DefaultNetworkCredentials.Password;

标签: asp.net asp.net-mvc asp.net-mvc-4 windows-authentication


【解决方案1】:

有同样的问题,你的 web.config 中有授权部分吗?拒绝所有匿名用户为我解决了这个问题。

    <authorization>
        <deny users="?"/>
    </authorization>

我也不会通过 HttpContext 访问用户,而是这样做:

string username = User.Identity.Name;

还要检查您是否已在 Web 服务器上启用 Windows 身份验证,这对您来说应该不是问题,因为您很可能在 Visual Studio 中使用 IIS Express 运行该站点。

【讨论】:

  • 我添加了。现在,它很好。但是,问题是,当我在 Iis THEN 上托管网站时,它现在正在工作。请指导我。
  • 如前所述,您必须在 IIS 上启用 Windows 身份验证。请查看microsoft 的本指南。我希望这会有所帮助。
猜你喜欢
  • 2017-08-03
  • 2021-08-03
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 2015-10-26
  • 2020-10-27
  • 2021-05-06
  • 2010-11-17
相关资源
最近更新 更多