我正在为我的 Intranet 应用程序使用 Windows 身份验证,该应用程序是在 MVC 4.0 中开发的。
使用以下代码获取当前用户。
string userid = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToUpper();
Run Code Online (Sandbox Code Playgroud)
在 Web.config 文件中,我设置了身份验证mode="Windows",并在 IIS 中启用了 Windows 身份验证并禁用了 Ananymous。
它在本地工作正常,但是当我将应用程序部署到 Windows Server 2012 和 IIS 8.5 时,我面临两个我无法修复的问题。
第一个问题是,当用户在计算机上浏览应用程序时,他们应该登录用户,这对于一个用户来说很好。但是假设两个用户同时浏览该 url,它会为两个用户显示相同的名称,它是随机的并显示两个用户中的任何一个的名称。我在整个应用程序中没有使用会话、缓存或 cookie。
第二个问题是随机用户弹出凭据,当他们提供正确的用户名和密码时,它不起作用。问题是完全随机的,不确定他们何时获得。
请求您帮助解决这些问题,我尝试了很多,但没有找到任何解决方案。