使用UnboundID添加组条目时,错误503将不会执行

时间:2013-04-12 13:04:39

标签: active-directory unboundid-ldap-sdk

我正在尝试使用UnboundID LDAP SDK将组添加到我的Active Directory服务,并不断收到错误503:将无法执行。

我已经验证我正在使用SSL连接,并且我正在与属于Administrators组的用户建立连接,这是我错了 - 这使他有权创建新条目。

我还将LDAP接口事件的日志记录级别一直提升到5,并且事件查看器注册了许多事件,这些事件都没有用于解释服务不愿执行创建条目操作的原因。

关于可能导致此问题的任何想法?

以下是我正在使用的scala代码示例:

val connection = connect("MyAdminUser", "MyAdminPass")

val addGroupResult = connection.add("CN=TestGroup2,OU=Groups,OU=mydomain,DC=mydomain,DC=local",
    new Attribute("objectClass", "top", "group"),
    new Attribute("name","TestGroup2"),
    new Attribute("sAMAccountName","TestGroup2"),
    new Attribute("sAMAccountType","268435456"),
    new Attribute("objectCategory","CN=Group,CN=Schema,CN=Configuration,DC=mydomain,DC=local"),
    new Attribute("cn","TestGroup2"),
    new Attribute("distinguishedName","CN=TestGroup2,OU=Groups,OU=mydomain,DC=mydomain,DC=local"),
    new Attribute("instanceType","4"),
    new Attribute("groupType","-2147483646")
    )

private def connect(user: String, pass: String) = {
    val options = new LDAPConnectionOptions()
    options.setFollowReferrals(true)
    val sslUtil = new SSLUtil(new TrustAllTrustManager())
    val socketFactory = sslUtil.createSSLSocketFactory()
    new LDAPConnection(socketFactory, options, host, securePort, DN(user), pass)
}

这是我收到的错误消息:

Exception in thread "main" LDAPException(resultCode=53 (unwilling to perform), errorMessage='0000209A: SvcErr: DSID-031A104A, problem 5003 (WILL_NOT_PERFORM), data 0', diagnosticMessage='0000209A: SvcErr: DSID-031A104A, problem 5003 (WILL_NOT_PERFORM), data 0')

1 个答案:

答案 0 :(得分:8)

我的错误是在Add操作中包含太多属性,其中一些不应该手动设置,而是由SAM(安全帐户管理器)设置。

正确的代码如下:

val addGroupResult = connection.add("CN=TestGroup2,OU=Groups,OU=simpleBI,DC=domain,DC=local",
            new Attribute("objectClass", "top", "group"),
            new Attribute("name","TestGroup2"),
            new Attribute("sAMAccountName","TestGroup2"),
            new Attribute("objectCategory","CN=Group,CN=Schema,CN=Configuration,DC=domain,DC=local")
            )

请注意,我删除了一些被AD拒绝的属性,包括sAMAccountType。我也删除了一些冗余的。我相信我拥有的是满足我需求的最小属性集。

连接代码未更改。