1

LDAPサーバーとしてApacheDSサーバーを使用しています。定義したLDAP構造で使用するカスタム属性を作成しました。スキーマを作成し、スキーマ内でObjectClassとdateOfBirthという属性を定義しました。スキーマをエクスポートして、ApacheDSのDITにインポートしました。スキーマがインポートされ、dateOfBirth属性を表示できます。

ただし、追加しようとすると、次のような警告が表示されます。

Warning according to the schema attribute dateOfBirth is not allowed.

Do you still want to add the new value?

dateOfBirthは、個人に関する情報を格納するためのものです。LDAPのPersonオブジェクトクラスはinetOrgPersonObjectClassと呼ばれます。それを使用するためにdateOfBirthを追加する最良の方法は何ですか?

4

2 に答える 2

3

Apacheディレクトリスタジオを使用して、Apache DSにカスタムオブジェクトと属性(存在しないはずです)を追加できます。

手順は次のとおりです

  1. ApacheDirectoryStudioを開きます。
  2. スキーマエディタパースペクティブに移動します。
  3. プロジェクトペインを右クリックして、新しいスキーマプロジェクトを作成します。
  4. オフライン/オンラインを選択し、プロジェクト名を付けます。
  5. 接続を開きます
  6. スキーマペインを右クリックして、一意の名前(例:test123)で新しいスキーマを作成します。
  7. スキーマの下で、新しい属性とそれらの属性のオブジェクトを作成できます(既存のオブジェクトを参照してください)。
  8. すべて完了したら、.ldifファイル(たとえばtest.ldif)としてエクスポートできます。
  9. 次に、LDAPブラウザパースペクティブに移動します。
  10. ou = schemaオブジェクトを右クリックし、LDIFとしてインポートをクリックします。
  11. スキーマプロジェクトからエクスポートされたLDIFファイルをインポートします(ステップ8)。
  12. 正常に完了し、ou = schemaオブジェクトを更新すると、追加されたオブジェクトが表示されます。
于 2013-10-25T15:30:51.127 に答える
2

dateOfBirth属性を定義する必要はありません。RFC2985naturalPersonで説明されている補助objectClassは、。を使用してこの属性をすでに許可しています。objectClassをエントリに追加してから、に準拠する属性を追加します。generalizedTimeSyntaxnaturalPersondateOfBirthgeneralizedTimeSyntax

dn: cn=myPerson,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: naturalPerson
dateOfBirth: 20121115121912.810Z

などなど。

更新:RC2985からのobjectClass定義の例。

dn: cn=schema
objectClass: top
objectClass: ldapSubentry
objectClass: subSchema
objectClasses: ( 1.2.840.113549.1.9.24.2 NAME 'naturalPerson'
  SUP top
  AUXILIARY
  MAY ( emailAddress $
    unstructuredName $
    unstructuredAddress $
    dateOfBirth $
    placeOfBirth $
    gender $
    countryOfCitizenship $
    countryOfResidence $
    pseudonym $
    serialNumber )
  X-ORIGIN 'RFC 2985' ) 
于 2012-11-14T17:20:37.380 に答える