Adding a user to a group in Apple's OpenDirectory goes as follows:
<?php
$dn = "cn=groupname,cn=groups,dc=example,dc=com";
$entry['memberuid'] = "username";
ldap_mod_add($connect, $dn, $entry);
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_mod_add — Ajoute un attribut à l'entrée courante
$ldap
,$dn
,$entry
,$controls
= null
Ajoute l'attribut entry
à l'entrée dn
.
Pour ajouter un nouvel objet entier, consultez la fonction ldap_add() .
ldap
Un identifiant de lien LDAP, retourné par la fonction ldap_connect().
dn
Le nom DN de l'entrée LDAP.
entry
Tableau associatif répertoriant les valeurs des attributs à ajouter. Si un attribut n'était pas encore existant, il sera ajouté. Si un attribut est existant, vous pouvez uniquement y ajouter des valeurs s'il prend en charge plusieurs valeurs.
controls
Tableau de Contrôles LDAP à envoyer avec la requête.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
8.0.0 |
controls est désormais nullable ; auparavant, sa valeur par défaut était [] .
|
7.3 |
Support pour controls a été ajouté.
|
Note: Cette fonction gère les chaînes binaires.
Adding a user to a group in Apple's OpenDirectory goes as follows:
<?php
$dn = "cn=groupname,cn=groups,dc=example,dc=com";
$entry['memberuid'] = "username";
ldap_mod_add($connect, $dn, $entry);
?>
When adding/editing attributes for a user, the 'memberof' attribute is a special case. The memberOf attribute is not an accessible attribute of the user schema. To add someone to a group, you have to add the user in the group, and not the group in the user. You can do this by accessing the group attribute 'member':
<?php
$group_name = "CN=MyGroup,OU=Groups,DC=example,DC=com";
$group_info['member'] = $dn; // User's DN is added to group's 'member' array
ldap_mod_add($connect,$group_name,$group_info);
?>
To add a new attribute with a single value:
$entry[mail] = "newmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);
To add a new attribute with multiple values:
$entry[mail][] = "newmail@aelana.com";
$entry[mail][] = "altnewmail@aelana.com";
$results = ldap_mod_add($ldapConnID, $dn, $entry);
Using PHP 4.2.3 with IIS 5 and Win2k Server. My confs are:
$ldap_srvr = 'servername' ;
$ldap_port = 389;
$ldap_con = ldap_connect($ldap_srvr, $ldap_port);
$ldap_rdn = "username";
$ldap_pwd = "__password__";
$ldap_vbind = ldap_bind($ldap_con, $ldap_rdn, $ldap_pwd);
$base_dn= 'CN=username,CN=Users,DC=domain,DC=org,DC=us
' ;
$ldap_filter= 'objectClass=*';
$info['mail']='username@domain.org.us';
ldap_mod_add($ldap_con, $base_dn, $info);
ldap_add($ldap_con, $base_dn, $info);
this generate an error:
- Warning: LDAP: modify operation could not be completed. in
ldap_modify($ldap_con, $base_dn, $info);
this function corretly.
It´s all.