Adlap2 - 更新 "Batch Modify: Insufficient access"

Adlap2 - update "Batch Modify: Insufficient access"

使用 Adldap2 包 (https://adldap2.github.io/Adldap2/#/) and to be more accurate laravel version (https://github.com/Adldap2/Adldap2-Laravel) 并且在创建后 add/update 某些属性存在一些问题。

更具体一点,我会尝试这样做

创建用户

$user = Adldap::make()->user([
    'cn' => 'Vlad Test7',
    'samaccountname' => 'vlad_test7',
    'Company' => 'Company Name',
    'givenname' => 'Vlad',
]);

$user->objectclass = [
    'top',
    'person',
    'inetOrgPerson',
];

$user->save();

这会奏效。 但是如果我会尝试设置另一个属性,比如部门,如下所示

$user->setAttribute('Department', 'Information Systems');
$user->save();

我会收到此错误消息

ErrorException : ldap_modify_batch(): Batch Modify: Insufficient access at PATH_TO_PROJECT_ROOT\vendor\adldap2\adldap2\src\Connections\Ldap.php:386

我向系统管理员询问了提供的帐户权限,他告诉我我在 OU 中拥有测试用户的完全访问权限,他们是为我创建的。

我想,我的配置文件可能有问题,正如管理员告诉我的那样。

这里是配置文件 (ldap.php) 的样子

'hosts' => explode(' ', env('LDAP_HOSTS', 'corp-dc1.corp.acme.org corp-dc2.corp.acme.org')),
'port' => env('LDAP_PORT', 389),
'timeout' => env('LDAP_TIMEOUT', 5),
'base_dn' => env('LDAP_BASE_DN', 'dc=corp,dc=acme,dc=org'),
'username' => env('LDAP_USERNAME', 'username'),
'password' => env('LDAP_PASSWORD', 'secret'),

根据我的搜索结果,更新时的错误消息可能与 dn(专有名称)有关,因为我有类似的东西 base_dn

base_dn=OU=TEST USER,OU=xxxxxx1,OU=xxxxxx2,OU=xxxxxx3,OU=xxxxxx3,DC=domain,DC=local

当我创建用户时,对于新创建的用户,我将获得新生成的 dn,如下所示

dn=CN=Vlad Test7,OU=TEST USER,OU=xxxxxx1,OU=xxxxxx2,OU=xxxxxx3,OU=xxxxxx3,DC=domain,DC=local

不确定,这是否正确?还考虑到我无法使用生成的专有名称执行操作的可能性,当我创建新记录时,至少给人的印象是我已经将 CN=Vlad Test7 添加到 base_dn,这导致了错误。

关于这个问题有什么建议或想法吗? 谢谢

答案很简单,就是我这里用的AD用户的权限问题,如报错信息所述,访问权限不足,所以与编码无关。