Использование аутентификации couchdb пользователями xmpp - PullRequest
0 голосов
/ 11 июня 2010

Я бы хотел использовать couchdb для веб-приложения с внешней аутентификацией пользователя на XMPP-сервере (Openfire). Как я могу этого достичь? Допустим, у нас есть три пользователя:

  • basicuser@mydomain.tld
  • advanceduser@mydomain.tld
  • moreadvanceduser@mydomain.tld

Теперь basicuser@mydomain.tld должен иметь возможность читать все документы, которые подходят для основных пользователей. advanceduser@mydomain.tld должен иметь возможность читать и писать все документы, которые подходят для основных пользователей. moreadvanceduser@mydomain.tld должен иметь возможность читать все документы, которые подходят для простых и опытных пользователей.

Это возможно?

1 Ответ

0 голосов
/ 06 апреля 2011

после Руководство по установке базы данных OpenFire , только реляционные базы данных работают напрямую с Open Fire:

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

Моей первой мыслью было попытаться переместить всю базу данных в couchdb.

В любом случае вам понадобятся разные группы для сопоставления разных типов пользователей. Насколько я знаю, доступ на чтение / запись в CouchDB не может быть предоставлен или отменен для отдельных документов, но для баз данных. Таким образом, вы получите 3 базы данных, каждая для одного типа уровня доступа. Я не уверен, является ли это хорошим советом для проверки подлинности на основе документов в CouchDB путем «пометки» документов уровнями авторизации.

Итак, я могу думать о разных сценариях:

  1. Если ваш XMPP-сервер отсутствует в базе данных смог проверить учетные данные через веб-сервисы, вы могли бы использовать что в процедуре входа в ваш couchapp.
  2. Если в вашей резервной базе данных Openfire есть веб-сервисы, вы можете использовать их для синхронизации пользователей с couchdb и сопоставления их с группами авторизации lvl. Я думаю, что это не очень хороший подход, так как вам придется обрабатывать обновленных или удаленных пользователей, а также есть еще один момент, чтобы подумать о безопасности. Конечно, это также можно сделать с помощью сценариев на python или на любом другом языке, который вы предпочитаете.
  3. Используйте LDAP для предоставления аутентификации. На данный момент не работает с CouchDB.
  4. Может быть, хорошей идеей было бы сделать использование Z-XMPP , strophe или в основном любые рамки JS, которые обрабатывает XMPP каким-то образом? Там вы мог узнать о XMPP аутентификация и, возможно, использовать это для проверить учетные данные аутентификации с XMPP. Я также только что узнал, что есть книга о «Профессиональное программирование XMPP с использованием JavaScript и jQuery» .

Теперь, это не полные решения, а то, о чем нужно подумать и обсудить это.

О, и есть еще один поток здесь в StackOverflow.

С уважением, Крис

...