You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MuleSoft LDAPS连接AD无法将userAccountControl设为512报错

问题背景

使用Mule 4 LDAP Connector通过636端口采用LDAPS协议连接Active Directory实现用户开通,SSL连接采用trustStore文件+密码的认证方式。按照公开的Active Directory规范设置了合规的userPassword属性后,执行操作抛出如下错误:

OPERATION_NOT_SUPPORTED: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12E8, problem 5003 (WILL_NOT_PERFORM), data 0

操作过程中可成功将userAccountControl设置为546、544等数值,但始终无法设置为512。

复现所用配置

LDAP Add操作请求Payload

{
"accountExpires": "0",
"givenName": "First",
"name": "First Last",
"displayName": "First Last",
"cn": "First Last",
"sn": "Last",
"userAccountControl": "512",
"userPassword": "s4mb@r89!DRFnw",
"physicalDeliveryOfficeName": "London",
"dn": "CN=First Last,OU=London,DC=company,DC=co,DC=uk",
"distinguishedName": "CN=First Last,OU=London,DC=company,DC=co,DC=uk",
"manager": "CN=Mgr Name,OU=London,DC=company,DC=co,DC=uk",
"userPrincipalName": "First.Last@company.co.uk",
"sAMAccountName": "First.Last",
"employeeID": "First.Last",
"objectCategory": "CN=Person,CN=Schema,CN=Configuration,DC=company,DC=co,DC=uk",
"objectClass": ["top", "person", "organizationalPerson", "user"]
}

Mule 4 LDAP Connector 配置

<ldap:config name="LDAP_Configuration" doc:name="LDAP Configuration" doc:id="dc616c25-140d-42ef-a72e-575379a81596" >
<ldap:ssl-connection 
    authDn="ldap_user" 
    authPassword="password" 
    url="ldaps://domain:636" 
    trustStorePath="C:\path\src\main\resources\server.truststore" 
    trustStorePassword="mulesoft" >
    <reconnection >
        <reconnect frequency="20000" count="2" />
    </reconnection>
</ldap:ssl-connection>
</ldap:config>
错误根因

该错误和Mule LDAP Connector配置无关,是Active Directory的固有规则限制,具体触发逻辑如下:

  • AD通过LDAPS接收userPassword属性时,要求传入值必须是用双引号包裹明文密码后,按UTF-16LE编码生成的字节数组,直接传入普通明文字符串会被判定为密码格式非法。
  • AD新建用户时存在强约束:如果密码不符合域密码策略、或密码格式非法,不允许直接创建启用状态(userAccountControl=512)的账户,仅允许先创建禁用状态的账户。这也是设置userAccountControl为544(禁用、密码永不过期)、546(禁用、普通账户)时操作能成功的直接原因。
修复步骤
  • 调整新建用户的Add请求参数:创建阶段将userAccountControl设为546(禁用普通用户),不要直接传512,其余必填属性保持不变。
  • 对密码值做格式转换:将明文密码首尾加双引号后,转为UTF-16LE编码的字节数组,作为userPassword的传入值,禁止直接传入普通明文字符串。
  • Add请求成功创建禁用用户后,单独发起一次LDAP Modify请求,将对应用户的userAccountControl属性修改为512,即可完成启用状态用户的开通。

注:当前LDAPS连接配置完全正常,无需调整trustStore、端口、连接认证相关参数。如果SSL连接存在问题,所有LDAP操作都会失败,不可能成功创建userAccountControl为544/546的用户。

内容的提问来源于stack exchange,提问作者Sambit Swain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 11:09:14