2010-06-11 4 views
0

Je voudrais utiliser couchdb pour une application Web avec authentification d'utilisateur externe par un serveur XMPP (Openfire). Comment puis-je y parvenir? Disons que nous avons thre utilisateurs:Utilisation de l'authentification couchdb par les utilisateurs xmpp

Maintenant [email protected] devrait pouvoir lire tous les documents adaptés aux utilisateurs de base. [email protected] devrait être capable de lire et d'écrire tous les documents qui conviennent aux utilisateurs de base. [email protected] devrait être capable de lire tous les documents qui conviennent aux utilisateurs de base et avancés.

Est-ce possible?

Répondre

0

suivant OpenFire's Database installation Guide, seules les bases de données relationnelles travaillent directement avec feu ouvert:

  1. MySQL
  2. Oracle
  3. Microsoft SQLServer
  4. PostgreSQL
  5. IBM DB2
  6. HSQLDB

Ma première pensée était d'essayer de déplacer la base de données complète vers couchdb.

De toute façon, vous aurez besoin de différents groupes pour cartographier les différents types d'utilisateurs. Pour autant que je sache, l'accès en lecture/écriture dans CouchDB ne peut pas être accordé ou révoqué pour des documents uniques, mais pour des bases de données. Donc, vous finirez avec 3 bases de données, chacune pour un type de niveau d'accès. Je ne suis pas sûr si c'est un bon conseil pour hanlde l'authentification basée sur le document dans CouchDB en "marquant" les documents avec authlevels.

Donc, je peux penser à différentes szenarios:

  1. Si votre serveur XMPP ot la base de données a été en mesure de vérifier les informations d'identification via webservices, vous pourriez utiliser que dans la procédure de connexion dans votre couchage
  2. S'il existe des services Web sur votre base de données de support Openfire, vous pouvez les utiliser pour synchroniser les utilisateurs avec couchdb et les mapper aux groupes auth lvl. Je pense que ce n'est pas une très bonne approche, car vous devrez également gérer les utilisateurs mis à jour ou supprimés et avoir un autre point à prendre en compte pour la sécurité. Cela pourrait bien sûr aussi être fait en scriptant sur python ou quel que soit le langage que vous préférez.
  3. Utilisez LDAP pour fournir l'authentification. Ne fonctionne pas avec CouchDB pour le moment.
  4. Peut-être une bonne idée serait de faire usage de Z-XMPP, strophe ou essentiellement tout cadre js que poignées XMPP en quelque sorte? Là, vous pourrait en apprendre davantage sur l'authentification XMPP et peut-être l'utiliser pour vérifier les informations d'identification auth avec XMPP. Je viens aussi d'apprendre qu'il existe un livre sur "Professional XMPP Programming with JavaScript and jQuery".

Maintenant, ce ne sont pas des solutions complètes fournies, mais quelque chose à penser, et en discuter.

Oh, et il y a un autre thread here chez StackOverflow.

Cordialement, Chris

Questions connexes