Salve, sono Enrico Albertini.

Scrivo per chiedere aiuto. Il mio problema riguarda l'iserimento di una entry nella mia directory ldap. Devo realizzare un'interfaccia web in php che permetta di inserire un nuovo utente nella directory.

Gli schemi inportati nel file slapd.conf sono:

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/samba.schema
include         /etc/ldap/schema/krb5-kdc.schema



mentre il codice php che genera l'entry e la inserisce nella directory รจ:

$ldapConn = @ldap_connect( $LDAPServerName );

if( $ldapConn ) {
@ldap_set_option( $ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3 );
   @ldap_set_option( $ldapConn, LDAP_OPT_REFERRALS, 0 );
   $r = @ldap_bind( $ldapConn, $LDAPWriterDN, $LDAPWriterPassword );

   // Set up LDAP attributes
   $values["objectClass"] = "top";
   $values["objectClass"] = "person";
   $values["objectClass"] = "organizationalPerson";
   $values["objectClass"] = "inetOrgPerson";
   $values["objectClass"] = "posixAccount";
   $values["objectClass"] = "krb5Principal";
   $values["objectClass"] = "shadowAccount";

   $values["uid"] = $username;
   $values["cn"] = $realname . " " . $realsurname;
   $values["givenName"] = $realname;
   $values["sn"] = $realsurname;
   $values["mail"] = $mail;
   $values["shadowLastChange"] = (int)(time() / 86400);
   $values["shadowMax"] = 99999;
   $values["shadowWarning"] = 7;
   $values["krb5PrincipalName"] = $username . "@DOMINIO.IT";
   $values["loginShell"] = "/bin/false";
   $values["uidNumber"] = 1001;
   $values["gidNumber"] = 1001;
   $values["homeDirectory"] = "/home/" . $username ;
   $values["gecos"] = $realname . " " . $realsurname;
   $values["userPassword"] = $password;


$userDN = $LDAPSearchAttribute . "=" . $username . "," . $LDAPWriteLocation;

   $r = @ldap_add( $ldapConn, $userDN, $values );
if ( $r ) {
      $UserIsRegister = true;
   } else {
      $UserIsRegister = false;
   }

   @ldap_close( $ldapConn );
}



L'inserimento non funziona, riporto la parte interessata del file di log:

Mar 25 18:53:41 server5 slapd[4181]: conn=72 fd=15 ACCEPT from IP=***.***.***.***:45428 (IP=***.***.***.***:389) Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=0 BIND dn="cn=admin,dc=dominio,dc=it" method=128 Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=0 BIND dn="cn=admin,dc=dominio,dc=it" mech=SIMPLE ssf=0
Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=0 RESULT tag=97 err=0 text=
Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=1 ADD dn="uid=prova,ou=People,dc=dominio,dc=it" Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=1 RESULT tag=105 err=65 text=no structural object class provided
Mar 25 18:53:41 server5 slapd[4181]: conn=72 op=2 UNBIND
Mar 25 18:53:41 server5 slapd[4181]: conn=72 fd=15 closed


Io proprio non sono riuscito a capire dove sbaglio, mi rivolgo a voi sperando che mi possiate aiutare dall'alto della vostra esperienza.

Grazie, Enrico







_______________________________________________
OpenLDAP mailing list
[email protected]
https://www.sys-net.it/mailman/listinfo/openldap

Rispondere a