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 — Fügt Merkmalswerte zum aktuellen Eintrag hinzu
$ldap
, string $dn
, array $entry
, array|null $controls
= null
) : bool
Fügt ein oder mehrere Merkmalswerte zum angegebenen
dn
hinzu. Um ein ganz neues Objekt hinzuzufügen, ist
ldap_add() zu verwenden.
ldap
Eine LDAP-Verbindungskennung, geliefert von ldap_connect().
dn
Der Distinguished Name eines LDAP-Datenobjekts.
entry
Ein assoziatives Array, das die Merkmalswerte aufführt, die hinzugefügt werden sollen. Existiert ein Merkmal noch nicht, wird es hinzugefügt. Existiert ein Merkmal bereits, können nur dann Werte hinzugefügt werden, wenn es mehrere Werte unterstützt.
controls
Ein Array von LDAP-Steuerbefehlen, die mit der Anfrage versendet werden sollen.
Gibt bei Erfolg true
zurück. Im Fehlerfall wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.0.0 |
controls is nullable now; previously, it defaulted to
[] .
|
7.3 |
Die Unterstützung für controls wurde
hinzugefügt.
|
Hinweis: Diese Funktion ist binary safe.
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.