Authentication 如何同时从多个位置禁用用户登录?

Authentication 如何同时从多个位置禁用用户登录?,authentication,Authentication,我想控制帐户共享。用户帐户一次只能登录到我的web应用程序一次。我想检查IP或浏览器类型,但似乎不够好 最好的解决方案是什么 IP地址和用户代理字符串的组合应该足够好,可以唯一化用户。用户代理字符串是高度可变的。编辑:假设您希望允许单个用户能够从单个位置在多个浏览器选项卡/窗口中查看应用程序。是这样吗?仅IP地址是不够的: 多个用户可以具有相同的IP地址(例如,在工作时代理背后的用户) 一个用户可以有多个IP地址(例如,几年前AOL用户就是这样) 在这种情况下,我通常使用基于以下组合的东西:

我想控制帐户共享。用户帐户一次只能登录到我的web应用程序一次。我想检查IP或浏览器类型,但似乎不够好


最好的解决方案是什么

IP地址和用户代理字符串的组合应该足够好,可以唯一化用户。用户代理字符串是高度可变的。编辑:假设您希望允许单个用户能够从单个位置在多个浏览器选项卡/窗口中查看应用程序。是这样吗?

仅IP地址是不够的:

  • 多个用户可以具有相同的IP地址(例如,在工作时代理背后的用户)
  • 一个用户可以有多个IP地址(例如,几年前AOL用户就是这样)
在这种情况下,我通常使用基于以下组合的东西:

  • IP地址
  • 以及其他几个HTTP头,例如:
    • 用户代理(例如,它可以像“
      Mozilla/5.0(X11;U;Linux i686;en-US;rv:1.9.1.7pre)Gecko/20091221 Ubuntu/9.10(karmic)Firefox/3.5.6
      ”一样复杂)
    • 接受(例如,“
      text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      ”)
    • 接受语言(例如,“
      fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
      ”)
    • 接受字符集(例如,“
      ISO-8859-1,utf-8;q=0.7,*;q=0.7
      ”)

如果只与先前的要求不同,我认为没问题;但是如果其中有2到3个不同,这就很奇怪了,这通常意味着它不是同一个用户。

所以你要强迫我运行代理服务器,以便同时登录我的笔记本电脑和桌面?为什么?这是个问题。。也许我应该实现一个通知方法,要求以前登录的用户允许第二次登录?