ActiveMQ:将Django Auth与Stomp一起使用

2024-10-01 04:59:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理power monitoring,只想向授权用户发送实时电源数据。一些用户选择在家中安装电力传感器,其他用户则在查看这些传感器。每个传感器将样本发送到Twisted后端-目标是让这个后端将数据转发到浏览器中运行的Javascript。在

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

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

为每个用户保护这些频道最简单的方法是什么? 我可以使用Django Auth吗? 我应该使用RabbitMQ还是ActiveMQ而不是MorbidQ? 我可以采取什么措施来保证这个解决方案的安全?在

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

谢谢!在


Tags: 数据django用户服务器auth传感器解决方案频道
2条回答

恢复一个旧的线程:MorbidQ并不是为了生产使用AFAIK。ActiveMQ是一个更健壮的beast,它提供了更好的方法来处理基于用户的身份验证。我早在2010年就写了this来处理静态用户身份验证,但是ActiveMQ允许您传递用于身份验证的动态用户列表,该列表可以来自应用程序可用的任何后端。我在上面提到的文章并没有讨论这个问题,但是稍微深入研究一下ActiveMQ身份验证/安全手册部分(加上一些Java知识)就可以为这种使用提供一个非常糟糕的设置。如果LDAP可用,那就更好了。在

如果您使用morbidq的restq扩展,您可以让它在每次用户尝试连接时向您的应用程序发送一个http回调。(见http://www.morbidq.com/trac/wiki/RestQ)。然后,django应用程序就可以对connect尝试返回yes或no(在它通过一些auth过程运行之后)

相关问题 更多 >