asp.net mvc windows authentication - 以不同用户身份登录的用户

Ahm*_*aja 6 iis asp.net-mvc windows-authentication

我们有asp.net mvc Web应用程序,在IIS中托管,启用了Windows身份验证(我们使用Active Directory对用户进行身份验证).

在某些时候(在生产中),用户发现自己使用不同的用户登录,登录通常在用户登录组织中的笔记本电脑/ PC时完成,因此预计网站始终将他们登录的用户显示给PC /笔记本电脑导致这是他们的身份.

对于IIS,我们在Sql server中存储会话状态,我们正在HttpContext.Session应用程序中维护会话.

我需要一些关于如何跟踪问题根源的指南.是否有工具或我可以与您分享哪些代码可能有所帮助?

谢谢!

Ami*_*rzi 2

确保:

\n\n
    \n
  • 您已在 IIS 中为您正在使用的应用程序启用 \xe2\x80\x9cIntegrated Windows Authentication\xe2\x80\x9d(以前称为 NTLM\authentication)。

  • \n
  • 然后,您应该将web.config文件添加到ASP.NET 应用程序的根目录<authentication>, \n其中包含一个\n将模式设置为 的部分\xe2\x80\x9cWindows\xe2\x80\x9d

  • \n
  • 然后,您还应该将一个<authorization>部分添加到同一\n web.config文件中,以拒绝访问\xe2\x80\x9canonymous\xe2\x80\x9d该站点的用户的访问权限。这将强制 ASP.NET 始终使用 Windows 身份验证 \xe2\x80\x93 对\n传入的浏览器用户进行身份验证,并确保\n从服务器上的代码中\n您始终可以访问\n传入用户的用户名和\nWindows 组成员身份。
  • \n
\n\n

下面的web.config文件演示了如何配置上述两个步骤:

\n\n
<configuration>\n    <system.web>\n        <authentication mode="Windows" />\n\n         <authorization>\n             <deny users="?"/>\n          </authorization>\n\n    </system.web>\n</configuration>\n
Run Code Online (Sandbox Code Playgroud)\n