【问题标题】:session management in distributed system分布式系统中的会话管理
【发布时间】:2017-03-08 17:56:23
【问题描述】:

我有两个 Web 服务器(server1、server2)和多个 Web 应用程序(20+)正在运行。某些应用程序(10+)需要 ldap 身份验证才能访问。我想实现“单点登录”之类的东西并使用 ldap 身份验证来维护会话。

我的建议:一旦用户登录任何应用程序,然后在持久键值存储中为每个用户维护一个唯一键,带有时间戳和生命周期。
时间戳-> 用户登录时。
生命周期-> 谁的身份验证应该是有效的。

实现此功能的最佳方式是什么? 我想到的第一件事是持久消息队列。任何建议什么是最好的方法以及选择哪个持久消息队列。

注意:我可以在 server1 或 server2 中运行此会话管理,但两者都可能出现故障。 (选择的语言:任何,首选python。)

如果问题陈述不清楚,请评论。

【问题讨论】:

    标签: python message-queue session-management


    【解决方案1】:

    您正在寻找的似乎是 redis 后端会话存储。

    在 Django 中有一个可用于此解决方案的库: https://github.com/martinrusev/django-redis-sessions

    还有来自 Flask 的官方片段: http://flask.pocoo.org/snippets/75/

    如果您在与应用程序不同的服务器上运行 redis 会话存储,那么在您的一个应用程序服务器出现故障的情况下,您的身份验证系统应该仍然可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      相关资源
      最近更新 更多