Question

Je travaille sur de contrôle de puissance et souhaitez envoyer des données de puissance en direct aux seuls utilisateurs autorisés. Certains utilisateurs ont choisi d'installer des capteurs de puissance dans leurs maisons, d'autres regardent ces capteurs. Chaque capteur envoie des échantillons au back-end d'un Twisted - le but est d'avoir ce backend les données à transmettre l'exécution de JavaScript dans le navigateur .

Ma solution actuelle pour transmettre les données est un serveur et mis en orbite une instance de MorbidQ (MorbidQ est un serveur Stomp). Chaque bâtiment dans mon système ( exemple ) a son propre canal pour les mises à jour. Le back-end torsadé diffuse les données via le canal MorbidQ à tous ceux qui regardent, mais tout le monde peut regarder. Il y a une entrée sur mon blog sur le flux de données provenant du capteur vers le site

Pour de nombreux bâtiments, je veux seulement quelques utilisateurs d'être en mesure de voir les données en direct dans un bâtiment donné. Je voudrais utiliser Django Auth si possible, ou une sorte de solution de contournement sinon.

Quelle est la meilleure façon de sécuriser ces canaux par utilisateur? Puis-je utiliser Django Auth? Dois-je utiliser RabbitMQ ou ActiveMQ au lieu de MorbidQ? Quelles sont les mesures que je peux prendre pour garder cette solution sécurisée?

Pour le codage, je suis très confiant en C ++ et Python.

Merci!

Était-ce utile?

La solution

Si vous utilisez les extensions de restq pour morbidq, vous pouvez l'avoir envoyer un rappel http à votre application chaque fois que l'utilisateur tente de se connecter. (Voir http://www.morbidq.com/trac/wiki/RestQ ) . Votre application django peut alors revenir oui ou non à la tentative de connexion (après son exécution si une procédure auth.)

Autres conseils

Redynamiser un vieux fil: MorbidQ n'est pas destiné à un usage de la production AFAIK. ActiveMQ est une bête beaucoup plus robuste et offre de bien meilleures façons de gérer l'authentification par utilisateur. J'ai écrit ce retour en 2010 qui traite l'authentification statique utilisateur - mais ActiveMQ permet de transmettre une liste dynamique des utilisateurs pour l'authentification, qui peuvent provenir de l'application selon backend dispose. Le poste je l'ai mentionné ci-dessus ne traite pas, mais en creusant un peu dans l'authentification ActiveMQ / section du manuel de sécurité (plus des connaissances Java) peut permettre une configuration assez méchant pour une telle utilisation. Si LDAP est disponible, encore mieux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top