首页 > 解决方案 > 当我在 IIS 中启用 Windows 身份验证时,当前登录的用户名显示在 aspx 网页上

问题描述

我正在创建一个网页 (aspx) 以在用户尝试访问该页面时获取当前登录的用户信息。

protected void Page_Load(object sender, EventArgs e)
{
    userName = User.Identity.Name.Split('\\')[1];
}

所以我在这里正确获取了用户名(域\用户名),但我面临的问题是,这个用户名也显示在表单顶部的网页上。我不想要。我没有使用任何 Response.Write 或 Console.Write 在网页上显示它。

我想我在 web.config 中缺少一些配置。

<system.web>
    <authentication mode="Windows" />
    <authorization>
      <deny users="?"/>
    </authorization>
    <identity impersonate="true" />
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <pages>
    <namespaces>
      <add namespace="System.Web.Optimization" />
      <add namespace="Microsoft.AspNet.Identity" />
    </namespaces>
    <controls>
      <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
    </controls>
    </pages>
</system.web>

标签: asp.netiiswindows-authentication

解决方案


啊,多么愚蠢的错误。在 aspx 文件中,之前我在文件开头添加了代码 <%=User.Identity.Name%> 。一旦我删除它就可以按我的意愿工作。

谢谢。


推荐阅读