问题描述
我有一个基于Windows窗体的Web应用程序,写在VB.NET上,目前被大量用户使用。
我当前面临的问题是,正在使用另一个用户帐户对应用程序进行身份验证,而不是使用该应用程序与当前用户进行身份验证。
我正在使用User.Identity.Name进行用户身份验证,并且仅启用了Windows身份验证。
其他详细信息
该应用程序托管在Windows 7服务器计算机上的IIS中,每个人都可以从那里访问它。
奇怪的是,该问题仅发生在2个用户身上,并且对其他所有人都有效。此外,它仅在使用托管应用程序(生产URL)时发生。
还没有设置默认方案,例如,如果找不到用户,则必须填写默认用户。
观察
- Chrome常规模式
- Chrome隐身模式
- Firefox常规模式 中没有发生问题
- Firefox私有模式
因此,我不知道如何进行此操作以及可能是此问题的根本原因。谁能为我提供一些想法,以找出问题的根本原因以及解决该问题的方法?
我尝试过的事情:
我已确保禁用匿名和基于表单的身份验证模式。 身份模拟设置为False。
我还确保在凭据管理器中没有为网站设置凭据。
我还尝试清除浏览数据,包括缓存和其他cookie。
解决方法
确保不要在后面的代码中设置身份验证方法等,而是要在web.config中进行设置。确保其中一个不会覆盖另一个(设置在2个地方)。另外,要获取用户名,您还可以从服务器变量中获取它,请参阅返回的信息
string user = Request.ServerVariables("LOGON_USER").ToString();