我需要能够使用 HttpContext 中可用的任何东西在 ASP.Net 中从另一个系统中识别出一个系统。我尝试使用许多可用的 ServerVariables,但通常这些系统是从由映像构建的驱动器配置的。因此,由于防火墙的原因,它们的 IP 地址是相同的,并且它们的所有 ServerVariables(浏览器代理、登录用户)都是相同的,我需要找到能够区分不同机器的其他东西。由于该站点使用表单身份验证进行保护,因此必须关闭 Windows 集成身份验证(否则我将有权访问不同的 Logon_User 值)。
我没有与 HttpContext 结婚,但在我看来,这是使用代码检索可识别用户信息的唯一方法。
编辑/更新:
@Robert Harvey 提供了几个搜索链接,这些链接带来了很多结果,其中大部分由于某种原因不符合我的要求(尽管其中仍有一些我没有想到的好主意前)。首先,我需要能够确定是否有人在防火墙后面切换了机器。因此,我将提供一些代码结构细节,以阐明为什么某些事情对我不起作用。
- 会话/Cookie 一直持续到午夜(决定在我头上做出,我接受它)
- 经过身份验证的用户不使用 MembershipUser 类。(即使是这样,MembershipUser.IsOnline 只会为我提供以前登录的用户)
- 众所周知,用户会在不注销的情况下删除 cookie 或关闭浏览器
- 我需要一些标准来区分一台机器和另一台机器,不一定要防止并发登录,但至少要识别它们。