0

XMPP-Server (Openfire) による外部ユーザー認証を使用する Web アプリケーションに、couchdb を使用したいと考えています。どうすればそれを達成できますか?3 人のユーザーがいるとしましょう:

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

これで、basicuser@mydomain.tld は、基本ユーザーに適したすべてのドキュメントを読み取ることができるようになります。advanceduser@mydomain.tld は、基本ユーザーに適したすべてのドキュメントを読み書きできる必要があります。moreadvanceduser@mydomain.tld は、基本ユーザーと上級ユーザーに適したすべてのドキュメントを読み取ることができる必要があります。

それは可能ですか?

4

1 に答える 1

0

OpenFireのデータベースインストールガイドに従って、リレーショナルデータベースのみがOpenFireと直接連携します。

  1. MySQL
  2. オラクル
  3. Microsoft SQLServer
  4. PostgreSQL
  5. IBM DB2
  6. HSQLDB

私が最初に考えたのは、データベース全体をcouchdbに移動することでした。

とにかく、さまざまなタイプのユーザーをマッピングするには、さまざまなグループが必要になります。私の知る限り、CouchDBの読み取り/書き込みアクセスは、単一のドキュメントに対しては許可または取り消すことはできませんが、データベースに対しては取り消すことができます。したがって、それぞれが1つのタイプのアクセスレベルに対応する3つのデータベースになります。ドキュメントにauthlevelsを「タグ付け」して、CouchDBでドキュメントベースの認証を処理することが良いアドバイスかどうかはわかりません。

だから、私はさまざまなシナリオを考えることができます:

  1. データベースのXMPPサーバーがWebサービスを介して資格情報を検証できた場合は、couchappのログイン手順でそれを利用できます。
  2. OpenfireバッキングデータベースにWebサービスがある場合は、これらを使用してユーザーをcouchdbと同期し、認証レベルグループにマップできます。更新または削除されたユーザーも処理する必要があり、セキュリティについても考慮する必要があるため、これはあまり良いアプローチではないと思います。もちろん、これはPythonまたは任意の言語でスクリプトを作成することによっても実行できます。
  3. LDAPを使用して認証を提供します。現在、CouchDBでは機能しません。
  4. おそらく、Z-XMPPストローフィ、または基本的にXMPPを何らかの方法で処理する任意のjsフレームワークを利用することをお勧めしますか?そこで、XMPP認証について学び、これを使用してXMPPで認証資格情報を検証することができます。また、 「JavaScriptとjQueryを使用したプロフェッショナルなXMPPプログラミング」に関する本があることも知りました。

さて、これらは提供された完全な解決策ではありませんが、それについて考え、議論するための何かです。

ああ、StackOverflowに別のスレッドがあります。

よろしく、クリス

于 2011-04-06T10:15:32.843 に答える