System.Web.HttpContext.Current.User.Identity.Name给出其他用户的名称

本文关键字:其他 用户 Name HttpContext Web Current User Identity System | 更新日期: 2023-09-27 18:01:17

我在MVC 4.0中开发的内部网应用程序使用windows身份验证。

使用下面的代码获取当前用户。

string userid = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToUpper();

Web。

在配置文件中设置认证mode="Windows",并在IIS中启用Windows认证,禁用匿名。

它在本地工作正常,但当我将应用程序部署到windows server 2012和IIS 8.5时,我面临两个问题,我无法修复。

第一个问题是当用户在他们的机器上浏览应用程序时,他们应该登录用户相同的用户,这对于一个用户来说是好的。但假设两个用户同时浏览url它为两个用户显示相同的名称,它是随机的,并显示任意两个用户的名称。我没有在我的整个应用程序中使用会话或缓存或cookie。

第二个问题是随机用户获得凭据弹出,当他们给出正确的用户名和密码,它不工作。问题是完全随机的,不确定他们什么时候得到。

请求您帮助解决这些问题,我试了很多,但没有找到任何解决方案

System.Web.HttpContext.Current.User.Identity.Name给出其他用户的名称

这似乎不是获取用户信息的正确位置。

using System.Web;
//...
var name = System.Web.HttpContext.Current.User.Identity.Name
//...

如果您的站点确实没有缓存任何内容,并且您已经适当地设置了无缓存头,那么它可能是缓存代理服务器