2011-12-14 2 views
0

LDAPベースのアドレス帳を作成しようとしています。その中の受信者/ユーザーごとに、私は彼らの連絡先に関する情報を保存する必要があります。情報には次のものが含まれます:
連絡先のタイプ - 電話/メール/ファックス/ページャー/ etc。
ラベル - おばあちゃんの屋根裏部屋、仕事、家など
住所 - 実際の電話番号/メールアドレス/ etc。
その他いくつかのプロパティOpenLDAP inetOrgPersonの子オブジェクトクラスを作成して使用する方法

これを処理することはできませんが、独自のContactPoint ObjectClassを作成し、それを構造クラスにして子にすることができますinetOrgPersonのしかし、私はまだこのすべてが一緒に来る方法の周りに私の頭を包み込むように見えることができません。たとえば、私は人とそのコンタクトポイントをどのように照会しますか?

答えて

1

inetOrgPersonextensibleObjectにしてください。次に、その中のどこからでも任意の属性を使用できます。自分のオブジェクトクラスを定義するのは間違いありません。

+0

感謝を参照してください、私はcouldnください。たとえば、連絡先ラベルや連絡先の種類(見た目には基本的なもの)を含むオブジェクトクラスを見つけることはできません。また、1つ以上のコンタクトポイントオブジェクトを1つの人物オブジェクトに関連付けることができる必要があります。私はあなたがそれを達成することを提案しているか見ていない。 – Mordechai

+0

@MorDeror 'inetOrgPerson'はすでに' mail'、 'telephoneNumber'、' homePhone'、 'internationalISDNNumber'、' faxsTelephoneNumber'、 'pager'、' postalAddress'、 'homePostalAddress'などの属性を持っています。 'inetOrgPerson'を超えて存在する他のLDAPスキーマタイプのもちろん、それらのどれもがあなたが望むものを正確にしていないならば、テリーが示唆するように、自分自身を転がす必要があります。 – EJP

+0

私は自分自身をロールバックしなければならないことを知っています。私の質問は、2つのレベルのオブジェクト、つまり人(inetOrdPersonのいくつかのバージョンを考えてみましょう)と自身のプロパティを持つ連絡先の2つのレベルを "ロール"する方法でした。あなたが言及した属性は – Mordechai

0

LDAPは拡張可能であり、新しいスキーマ要素を定義することがしばしば必要となるように設計されています。クライアントが望む構文と名前を持つ属性を見つけられない場合は、適切なオブジェクトクラスを持つ新しい属性を定義する必要があります。設計者は必要があります。

  • 既存のスキーマ要素に
  • 可能ベンダー固有の属性を使用していないスキーマ要素を既存の
  • 使用することを知って、これは質の悪い、脆いシステムになります。
  • は、新しいオブジェクトクラスを定義する代わりに、既存のオブジェクトクラスから継承します。
  • (属性タイプ定義からの一致規則を使用してください。 )を比較し、言語等価構造を使用しない。
  • 絶対に必要な場合を除き、extensibleObjectを避けてください。 extensibleObjectを使用すると、最後のオプションで、システム
  • 詳細について

を維持するために、型指定されていないプログラミング言語や品質不良、脆性で結果を使用するのと同様に困難である、「"LDAP: Programming Practices"

+0

おかげでテリー、これは非常に良い一般的な情報ですが、どのように私が尋ねたものに関連していますか? – Mordechai

関連する問題