asp.net - 我的 VB.NET Web 应用程序身份验证问题
问题描述
我有一个在 VB.NET 上编写的基于 Windows 窗体的 Web 应用程序,目前被大量用户使用。
我目前面临一个问题,即应用程序正在使用另一个用户帐户进行身份验证,而不是使用该应用程序与当前用户进行身份验证。
我正在使用 User.Identity.Name 进行用户身份验证,并且仅启用了 Windows 身份验证。
其他详情
该应用程序托管在 Windows 7 服务器计算机上的 IIS 中,每个人都可以从中访问它。
奇怪的是,这个问题只发生在 2 个用户身上,其他人都可以正常工作。此外,它仅在使用托管应用程序(生产 URL)时发生。
也没有设置默认场景,例如如果找不到用户,则必须填写默认用户。
观察
- 在使用本地机器上的实际代码调试应用程序时,会按预期获取各自的用户 ID。
- 问题发生在
- 铬常规模式
- Chrome 隐身模式
- Firefox 常规模式问题不会发生在
- 火狐私人模式
所以我不知道如何在这里进行以及问题的根本原因是什么。谁能给我一些想法来找到问题的根本原因以及解决问题的方法?
我试过的:
我已确保禁用匿名和基于表单的身份验证模式。身份模拟设置为 False。
我还确保在凭据管理器中没有为网站设置凭据。
我还尝试清除浏览数据,包括缓存和其他 cookie。
解决方案
确保您没有在后面的代码中设置身份验证方法等,您需要在 web.config 中进行设置。确保一个没有覆盖另一个(设置在 2 个位置)。另外要获取用户名,您还可以从服务器变量中获取它,看看返回的内容
string user = Request.ServerVariables("LOGON_USER").ToString();
推荐阅读
- android - java.lang.IllegalArgumentException: View=DecorView@ff5fb5d[MainActivity] 未附加到窗口管理器
- java - 如何在 Spring Boot 安全性中使以前的用户会话无效
- php - 只有 config.php 文件没有从特定 PHP 版本 5.5.28 的文件夹中获取
- javascript - 想要从输入中获取数据并在 JSON 中构造
- string - 如何在稳定的 Rust 中声明一个 const String?
- android - 在棒棒糖前问题上的 DrawerLayout 上将 fitSystemWindows 设置为 true
- minifilter - 如何在 minifilter 驱动程序中捕获 PathFileExists?
- python - 如何在 Django 中使用地图 API 在谷歌地图中找到最近的用户?
- amazon-web-services - 自动缩放的最佳方法(避免停机时间)
- spring - 如果响应来自 ExceptionHandler,则 Spring Mvc async Rest Controller 测试失败:asyncDispatch CountDownLatch 未由 TestDispatcherServlet 设置