Perché non posso utilizzare inetOrgPerson con groupOfNames?

Sto cercando di creare un utente in LDAP che utilizza classi di oggetti inetOrgPerson con groupOfNames (quindi potrei utilizzare l'attributo 'membro'), ma non mi lascerà import quale combinazione cerco. Qual è il modo corretto di utilizzare l'attributo "membro"?

Questo è il messaggio di errore che viene visualizzato quando si tenta di aggiungerlo tramite Apache Directory Studio.

  • ldapadd / ldapmodify: chiarimenti necessari su questi comandamenti
  • soluzione di server di controllo centralizzata per gestione server mutiple
  • Che cosa sta succedendo in questi rapporti di vulnerabilità LDAP di Lion?
  • VsFTPd - LDAP - PAM
  • Active Directory e Workgroup Manager di Apple
  • Seamless SSO con Kerberos, IE, Firefox, LDAP Active Directory
  • 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 : 113 Add Request : Entry dn[n]: uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com objectClass: groupOfNames objectClass: organizationalPerson objectClass: person objectClass: top objectClass: inetOrgPerson uid: sadsadsadadad@test.com member: cn=user,ou=role,dc=test,dc=com sn: sadsadsad cn: sdsadsad : ERR_61 Entry uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS ( 2.5.6.9 NAME 'groupOfNames' DESC RFC2256: a group of names (DNs) SUP 'top' STRUCTURAL MUST ( 'cn' $ 'member' ) MAY ( 'businessCategory' $ 'seeAlso' $ 'owner' $ 'ou' $ 'o' $ 'description' ) ) , 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' ) ) ]] 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 : 113 Add Request : Entry dn[n]: uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com objectClass: groupOfNames objectClass: organizationalPerson objectClass: person objectClass: top objectClass: inetOrgPerson uid: sadsadsadadad@test.com member: cn=user,ou=role,dc=test,dc=com sn: sadsadsad cn: sdsadsad : ERR_61 Entry uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS ( 2.5.6.9 NAME 'groupOfNames' DESC RFC2256: a group of names (DNs) SUP 'top' STRUCTURAL MUST ( 'cn' $ 'member' ) MAY ( 'businessCategory' $ 'seeAlso' $ 'owner' $ 'ou' $ 'o' $ 'description' ) ) , 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' ) ) ]] 

  • Può Windows autenticare contro ApacheDS?
  • Come posso triggersre lo schema nis in apacheDS?
  • HOWTO: la directory triggers di Clone a apacheDS
  • Qual è la differenza tra un "Entry" e un "Context Entry" in ApacheDS / LDAP?
  • One Solution collect form web for “Perché non posso utilizzare inetOrgPerson con groupOfNames?”

    Il motivo tecnico è che entrambi i groupOfNames e l'object objectClass sono reciprocamente esclusivi. Sono entrambe classi strutturali, ma senza una relazione subordinata, rendendole diverse catene objectClass e secondo RFC 4512 :

    Un object o un alias è caratterizzato da una catena superclass di oggetti strutturali, che ha una singola class di oggetti strutturali come la class object più subordinata.

    Un gruppo ha membri, ma una persona non è un gruppo e non può avere membri come un gruppo.

    Per quanto so che normalmente fai una persona un membro di un gruppo e il server LDAP fornisce una function interna per mantenere la mapping di ricerca inversa per recuperare facilmente i gruppi di cui appartiene un object, un attributo virtuale se si vuole, in genere, l'attributo memberOf . ApacheDS potrebbe non supportre questo ( ancora ).

    In altre parole, i gruppi di un object LDAP appartiene a non è una properties; dell'object stesso e probabilmente non dovresti nemless desiderare di provare a mantenerlo manualmente.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.