代码之家  ›  专栏  ›  技术社区  ›  Tom Leys

activemq:使用带有stomp的django auth

  •  4
  • Tom Leys  · 技术社区  · 15 年前

    我正在工作 power monitoring 只想向授权用户发送实时电源数据。一些用户选择在自己的房子里安装电力传感器,其他人则在观察这些传感器。每个传感器将样本发送到 Twisted 后端-目标是让这个后端将数据转发到浏览器中运行的javascript。

    我当前转发数据的解决方案是 Orbited 服务器和的实例 MorbidQ (morbidq是一个stomp服务器)。我系统中的每栋建筑( example here )有自己的更新频道。扭曲的后端通过morbidq频道向观看的任何人广播数据,但任何人都可以观看。我的博客上有一条关于 the data flow from sensor to site

    对于许多建筑,我只希望几个用户能够看到给定建筑中的实时数据。如果可能的话,我想使用django-auth,如果不可能的话,我想使用某种变通方法。

    保护每个用户的这些频道最简单的方法是什么? 我可以用姜戈认证吗? 我应该使用rabbitmq还是activemq而不是morbidq? 我可以采取什么措施来保证此解决方案的安全?

    对于编码,我对C++和Python最有信心。

    谢谢!

    2 回复  |  直到 13 年前
        1
  •  1
  •   Michael Carter    15 年前

    如果对morbidq使用restq扩展,则可以让它在每次用户尝试连接时向应用程序发送HTTP回调。(见 http://www.morbidq.com/trac/wiki/RestQ )然后,Django应用程序只需将Yes或No返回到连接尝试(在它通过某些身份验证过程运行之后)。

        2
  •  1
  •   planestepper    13 年前

    恢复旧的思路:morbidq不是用于生产使用afaik。ActiveMQ是一种更健壮的Beast,它提供了更好的方法来处理基于用户的身份验证。我写的 this 早在2010年,它处理静态用户身份验证——但是ActiveMQ允许您传递用于身份验证的动态用户列表,该列表可以来自应用程序可用的任何后端。上面提到的帖子并没有处理它,但是深入挖掘ActuMeq认证/安全手册部分(加上一些Java知识)可以为这样的使用提供一个非常糟糕的设置。如果LDAP可用,则更好。