2014-02-24 17 views
3

我想在LDAP(Apache目錄服務器)中創建一個新的人條目。我可以創建一個沒有像下面這樣的國家objectClass的人。LDAP-無法創建一個新的人與國家

  dn[n]: uid=dduck,ou=people,dc=example,dc=com 
      objectClass: top 
      objectClass: person 
      objectClass: organizationalPerson 
      objectClass: inetOrgPerson 
      uid: dduck 
      sn: Duck 
      cn: Donal Duck 

但是我也想給這個人添加一個國家。所以我添加了國家objectClass如下。

  dn[n]: uid=dduck,ou=people,dc=example,dc=com 
      objectClass: country 
      objectClass: top 
      objectClass: person 
      objectClass: organizationalPerson 
      objectClass: inetOrgPerson 
      uid: dduck 
      sn: Duck 
      c: FR 
      cn: Donal Duck 

但它失敗,出現以下錯誤,請任何想法嗎?

錯誤消息

  Error while creating entry 
      - [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUES 
       java.lang.Exception: [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUEST 
      Message ID : 26 
       Add Request : 
      Entry 
       dn[n]: uid=dduck,ou=people,dc=example,dc=com 
       objectClass: country 
       objectClass: top 
       objectClass: person 
       objectClass: organizationalPerson 
       objectClass: inetOrgPerson 
       uid: dduck 
       sn: Duck 
       c: FR 
       cn: Donal Duck 
      : ERR_61 Entry uid=dduck,ou=people,dc=example,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS (2.16.840.1.113730.3.2.2 
      NAME 'inetOrgPerson' 
      DESC RFC2798: Internet Organizational Person 
      SUP 'organizationalPerson' 
      STRUCTURAL 
      MAY ('audio' $ 'businessCategory' $ 'carLicense' $ 'departmentNumber' $ 'displayName' $ 'employeeNumber' $ 'employeeType' $ 'givenName' $ 'homePhone' $ 'homePostalAddress' $ 'initials' $ 'jpegPhoto' $ 'labeledURI' $ 'mail' $ 'manager' $ 'mobile' $ 'o' $ 'pager' $ 'photo' $ 'roomNumber' $ 'secretary' $ 'uid' $ 'userCertificate' $ 'x500UniqueIdentifier' $ 'preferredLanguage' $ 'userSMIMECertificate' $ 'userPKCS12') 
      ) 
      , OBJECT_CLASS (2.5.6.2 
      NAME 'country' 
      DESC RFC2256: a country 
      SUP 'top' 
      STRUCTURAL 
      MUST 'c' 
      MAY ('searchGuide' $ 'description') 
      ) 
      ]] 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkResponse(DirectoryApiConnectionWrapper.java:1280) 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.access$600(DirectoryApiConnectionWrapper.java:109) 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper$6.run(DirectoryApiConnectionWrapper.java:928) 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor(DirectoryApiConnectionWrapper.java:1175) 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkConnectionAndRunAndMonitor(DirectoryApiConnectionWrapper.java:1109) 
       at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.createEntry(DirectoryApiConnectionWrapper.java:950) 
       at org.apache.directory.studio.ldapbrowser.core.jobs.CreateEntryRunnable.createEntry(CreateEntryRunnable.java:224) 
       at org.apache.directory.studio.ldapbrowser.core.jobs.CreateEntryRunnable.run(CreateEntryRunnable.java:124) 
       at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:112) 
       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 

       [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUEST 
      Message ID : 26 
       Add Request : 
      Entry 
       dn[n]: uid=dduck,ou=people,dc=example,dc=com 
       objectClass: country 
       objectClass: top 
       objectClass: person 
       objectClass: organizationalPerson 
       objectClass: inetOrgPerson 
       uid: dduck 
       sn: Duck 
       c: FR 
       cn: Donal Duck 
      : ERR_61 Entry uid=dduck,ou=people,dc=example,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS (2.16.840.1.113730.3.2.2 
      NAME 'inetOrgPerson' 
      DESC RFC2798: Internet Organizational Person 
      SUP 'organizationalPerson' 
      STRUCTURAL 
      MAY ('audio' $ 'businessCategory' $ 'carLicense' $ 'departmentNumber' $ 'displayName' $ 'employeeNumber' $ 'employeeType' $ 'givenName' $ 'homePhone' $ 'homePostalAddress' $ 'initials' $ 'jpegPhoto' $ 'labeledURI' $ 'mail' $ 'manager' $ 'mobile' $ 'o' $ 'pager' $ 'photo' $ 'roomNumber' $ 'secretary' $ 'uid' $ 'userCertificate' $ 'x500UniqueIdentifier' $ 'preferredLanguage' $ 'userSMIMECertificate' $ 'userPKCS12') 
      ) 
      , OBJECT_CLASS (2.5.6.2 
      NAME 'country' 
      DESC RFC2256: a country 
      SUP 'top' 
      STRUCTURAL 
      MUST 'c' 
      MAY ('searchGuide' $ 'description') 
      ) 
      ]] 

回答

5

你不能將兩個結構對象類。這就像一個單一的繼承規則。但是,您可以添加'extensibleObject'而不是'country',那麼您可以使用'c'屬性。

+0

非常感謝。我會嘗試extensibleObject。這是增加國家的常規方法嗎?或者還有其他更好的方法嗎? – Jay

+1

這是'常規的方法'來添加任何不屬於你正在使用的其他對象類模式的屬性,如果有更好的方法,我不會意識到它對我很好奇, c'不是任何其他標準對象類的成員,例如'person'或其後代。 – EJP

+0

謝謝我能夠使用'extensibleObject'添加一個國家。 – Jay

相關問題