记住具有特定服务器拓扑的功能

时间:2013-06-20 17:05:16

标签: security authentication

我正在为我们产品的客户实现“记住我”功能,而且我有点困惑。我们在这里:

  • 3个不相互通信的服务器。
  • 需要“记住我”功能且在登录时重定向到3台服务器之一的客户端。
  • 重定向用户的那个实例对身份验证或用户凭据一无所知。

那么,请你给我一些关于如何在我的案例中“记住我”的指导方针?在cookie中存储密码是可以接受的,但不可取。

如果您需要更多关于某事的信息,请询问,我会尽力提供。

感谢大家的建议!

1 个答案:

答案 0 :(得分:2)

这通常通过让所有三台服务器都使用公共会话存储后端(如数据库或内存缓存)来完成。

如果您无法轻松实现常规会话,则可以调整重定向服务器上的代码,以存储其选择在cookie中重定向到的服务器的服务器ID。不要将密码存储在cookie中。例如:

    new hit comes in
    if cookie exists:
        forward to the server indicated in cookie
    else:
        pick a random server
        set cookie with the server id you picked
        forward to the server you picked