5

同じユーザーを共有する一連の Web アプリケーション用のユーザー リポジトリ LDAP バックエンドを作成しています。この LDAP の場所に設定情報を保存したいと思います。このようにして、ユーザーに関連するすべてが同じ場所に維持され、すべてのアプリケーション間で共有できます。

私はこのような一般的な構造を考えています:

ou=人、dc=ドメイン、dc=com
  uid=jdoe,ou=人,dc=ドメイン,dc=com
    ou=設定、uid=jdoe、dc=ドメイン、dc=com
      ou=最初の設定、ou=設定、uid=jdoe、dc=ドメイン、dc=com
        値: 123
        値: 456

いくつか質問があります:

  1. ユーザーエントリの下の jsut は、設定の保存を開始する適切な場所ですか? このエントリはどの objectClass にする必要がありますか? organizationUnit を試していますが、正しくないようです。

  2. プリファレンスの名前と値のペアを保存する最良の方法は何ですか? ここで私の最善のゲストは、名前を持つ設定のすぐ下にエントリを作成し、そのすぐ下に値を作成することです。このようにして、複数の値を説明できます。これらのエントリの正しい objectClass は何ですか?

私は OpenLDAP を使用していますが、それに付随するスキーマを変更したくありません。利用可能なスキーマを使用してこれを設定する方法はありますか?

4

3 に答える 3

2
  1. ユーザーノードの子としてプリファレンスを確実に保存できます。代替手段は、ユーザー ノード自体または完全に別のブランチにあります。どのように維持するかによって異なります (誰がパーミッションを持っているか、パーミッションの細かさ、新しい設定やアプリケーションが追加される頻度など)。

    OU は間違ったオブジェクト タイプです。アプリケーションに合わせて独自のスキーマを定義する必要があります。通常、スキーマの変更は最小限に抑える必要があるため、定義するスキーマは、新しい設定やアプリが必要になったときに拡張できるように設計する必要があります。

  2. プリファレンスごとに属性を定義し、LDAP サーバーの組み込みの名前と値のペアのサポートを使用することができます。または、一般的な「設定」属性を定義して、名前と値をデータに保存することもできます。繰り返しになりますが、どのように行うかは、設定​​の数、変更の頻度、フィールドの検索とインデックス作成の機能などによって異なります。

すべてに組み込み型を使用することを止めるものは何もありません。すべての変数 v1、v2、およびファイル stuff.txt の呼び出しを止めるものがないのと同じように。ただし、ニーズに合った組み込みの型がない場合は、独自の型を追加するときです。それはとても簡単なことです。

于 2009-12-06T23:35:51.230 に答える
0

LDAPは、SQLが読み取り/書き込みに最適化され、NoSQL dbがキー値データストアであるのと同様に、読み取りに最適化された汎用性の高いデータベースです。LDAP は、1 回の書き込みと何度も読み取るクラスタリングを既に念頭に置いた大規模な展開に最適です。ただし、キー値の読み取り/書き込みが多いユースケースでは、基本的なキー値データストアには、redis や memcached などの NoSQL データベースの方が適しています。

于 2015-05-18T07:53:58.487 に答える
0

LDAPディレクトリがこれを保存するのに最適な場所だとは思いません。それが Web アプリケーションの設定である場合は、それらを Web アプリケーションと一緒に、または Web アプリケーション内に (共有して) 保存する必要があります。

LDAP ディレクトリは、ユーザー アカウント、アクセス許可、組織の構造に関係しています。アプリケーション固有の設定を LDAP ディレクトリ内に置くことはお勧めしません。

マルク

于 2009-10-11T20:15:24.780 に答える