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 — Add attribute values to current attributes
$ldap
,$dn
,$entry
,$controls
= null
Adds one or more attribute values to the specified dn
.
To add a whole new object see ldap_add() function.
ldap
An LDAP link identifier, returned by ldap_connect().
dn
The distinguished name of an LDAP entity.
entry
An associative array listing the attirbute values to add. If an attribute was not existing yet it will be added. If an attribute is existing you can only add values to it if it supports multiple values.
controls
Array of LDAP Controls to send with the request.
Returns true
on success or false
on failure.
Version | Description |
---|---|
8.0.0 |
controls is nullable now; previously, it defaulted to [] .
|
7.3 |
Support for controls added
|
Note: This function is 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.