问题是我必须将Django开发与Microsoft ldap连接起来,才能创建,修改和验证用户。
在创建练习中,如果传递这样的属性,我会遇到下一个麻烦:
attrs = [
('objectclass', [b'user', b'top', b'person', b'organizationalPerson']),
('userPassword', [pwd.encode()]),
('displayName', [fullname.encode()]),
('name', fullname.encode()),
('givenName', [names_list[0].encode()]),
('sn', [lastnames_list[0].encode()]),', cn),
('userPrincipalName', userprincipalname),', samaccountname)
]
没问题,用户创建成功但被禁用。
但是,如果我传递这样的参数:
attrs = [
('objectclass', [b'user', b'top', b'person', b'organizationalPerson']),
('userPassword', [pwd.encode()]),
('displayName', [fullname.encode()]),
('name', fullname.encode()),
('givenName', [names_list[0].encode()]),
('sn', [lastnames_list[0].encode()]),', cn),
('userAccountControl', b'512'),
('userPrincipalName', userprincipalname),', samaccountname)
]
我在日志中收到此错误:
{'info':'0000052D:SvcErr:DSID-031A12D2,问题5003(WILL_NOT_PERFORM),数据0 \ n','desc':'服务器不愿意执行'}
我也尝试使用此行:
('userAccountControl', str(NORMAL_ACCOUNT + DONT_EXPIRE_PASSWORD).encode()),
我得到同样的错误。
我也尝试在linux控制台上使用ldapadd,但出现相同的错误。
谢谢。