The Set_User_Attrs
method is used to define some particular attributes of an LDAP user.
It requires the DN
of the LDAP user, but also the attrs
parameter, which must be an array of attributes, each attribute containing an array of values.
If values
is set to true, then the new attribute values are added to existing ones. Else, the existing values (if any) are dropped and replaced by the new ones. Attribute encoding (if any) is computed automatically by WebADM.
This method returns true
on success and false
on error.
import requests
import json
# Define the method and parameters
method = 'Set_User_Attrs'
params = {
'dn': 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com',
'attrs': {
'objectclass': ['person', 'webadmAccount'],
'mail': ['jane.doe@rcdevs.com'],
'telephoneNumber': ['+123456789', '+987654321'],
'cn': ['Jane Doe']
},
'values': True
}
# Create the request payload
request_payload = {
'jsonrpc': "2.0",
'method': method,
'params': params,
'id': 0
}
# Convert payload to JSON
json_payload = json.dumps(request_payload)
# Define the URL and credentials
url = "https://webadm1.rcdevsdocs.com/manag/"
auth = ("RCDEVSDOCS\\administrator", "password")
# Define the headers
headers = {
"Content-Type": "application/json",
"Connection": "close"
}
# Make the POST request
response = requests.post(url, data=json_payload, headers=headers, auth=auth, verify=False)
# Print the HTTP response code and response content
print(f"HTTP response code: {response.status_code}")
print(response.json())
<?php
#!/bin/php
$method = 'Set_User_Attrs';
$params = array(
'dn' => 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com',
'attrs' => array(
'objectclass' => array('person', 'webadmAccount'),
'mail' => array('jane.doe@rcdevs.com'),
'telephoneNumber' => array('+123456789', '+987654321'),
'cn' => array('Jane Doe')
),
'values' => true
);
$request = array(
'jsonrpc' => "2.0",
'method' => $method,
'params' => $params,
'id' => 0
);
$json = json_encode($request);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://webadm1.rcdevsdocs.com/manag/");
curl_setopt($ch, CURLOPT_USERPWD, "RCDEVSDOCS\\administrator:password");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("connection: close"));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$out = curl_exec($ch);
curl_close($ch);
print_r(json_decode($out));
?>
# Define the method and parameters
$method = 'Set_User_Attrs'
$params = @{
dn = 'cn=jane doe,cn=users,dc=rcdevsdocs,dc=com'
attrs = @{
objectclass = @('person', 'webadmAccount')
mail = @('jane.doe@rcdevs.com')
telephoneNumber = @('+123456789', '+987654321')
cn = @('Jane Doe')
}
values = $true
}
# Create the request payload
$requestPayload = @{
'jsonrpc' = '2.0'
'method' = $method
'params' = $params
'id' = 0
}
# Convert the request payload to JSON
$jsonPayload = $requestPayload | ConvertTo-Json
# Define the URL and credentials
$url = "https://webadm1.rcdevsdocs.com/manag/"
$auth = "RCDEVSDOCS\administrator:password"
# Make the POST request
$response = Invoke-RestMethod -Uri $url -Method Post -Body $jsonPayload -Headers @{ "Content-Type" = "application/json" } -Credential (New-Object System.Management.Automation.PSCredential($auth, (ConvertTo-SecureString "password" -AsPlainText -Force))) -SkipCertificateCheck
# Output the response
Write-Host "HTTP Response Code: $($response.status_code)"
Write-Host $response | ConvertTo-Json