C# HttpContext.Current.User.Identity.Name在哪里存储/访问?

C# HttpContext.Current.User.Identity.Name在哪里存储/访问?,c#,asp.net,iis,C#,Asp.net,Iis,在我们的内部网页面上,我们检查用户是谁,并将其作为标签显示在站点上。对于所有其他用户,登录名是正确的。对于该用户,它显示为我们的域\管理员 我知道事情是怎么发生的。一天,权限出现问题,我从她的PC启动了该页面。IE提示输入用户,并拒绝了她的登录。我尝试使用域管理员,它允许我们访问该页面,但现在我无法将其恢复到她的登录。它不是特定于浏览器的,因为我安装了Chrome,并获得了相同的行为 该页连接到数据库(使用SQL身份验证),然后运行存储过程。之后,运行以下代码: string userid =

在我们的内部网页面上,我们检查用户是谁,并将其作为标签显示在站点上。对于所有其他用户,登录名是正确的。对于该用户,它显示为我们的域\管理员

我知道事情是怎么发生的。一天,权限出现问题,我从她的PC启动了该页面。IE提示输入用户,并拒绝了她的登录。我尝试使用域管理员,它允许我们访问该页面,但现在我无法将其恢复到她的登录。它不是特定于浏览器的,因为我安装了Chrome,并获得了相同的行为

该页连接到数据库(使用SQL身份验证),然后运行存储过程。之后,运行以下代码:

string userid = HttpContext.Current.User.Identity.Name.ToString();
lbl_User.Text = userid;

如何/在何处为她重置此设置?是XP还是IIS缓存了这些凭据?

它很可能存储在托管密码中:

  • 单击开始>运行
  • 输入“control userpasswords2”
  • 单击高级选项卡
  • 单击管理密码
  • 选择错误的凭据
  • 单击删除
要更改这些设置,您可能需要注销并重新登录


这肯定是客户端PC的问题,而不是IIS的问题。Windows存储凭据供以后使用,并将通过浏览器自动将这些凭据发送到web服务器。

我找到了解决方案:页面位于“Intranet”区域。我打开IE,进入了互联网选项。我转到Internet选项,转到安全选项卡,选择Intranet,然后选择“自定义级别”。转到用户身份验证,并将其设置为“提示输入用户名和密码”。关闭浏览器,重新打开该页面,然后它提示我。相应地更改了凭据。

可能尝试重新启动计算机并重新启动IIS。电脑已重新启动,所有缓存已清除,IIS已多次重新启动。不仅IIS已经重新启动,而且该服务器已经重新启动了几次。我找到了解决方案:该页面位于“Intranet”区域。我打开IE,进入了互联网选项。我转到Internet选项,转到安全选项卡,选择Intranet,然后选择“自定义级别”。转到用户身份验证,并将其设置为“提示输入用户名和密码”。关闭浏览器,重新打开该页面,然后它提示我。相应地更改了凭据。它为空。此系统上没有存储密码。