gpt4 book ai didi

java - JNDI Active Directory,创建具有作用域的组

转载 作者:搜寻专家 更新时间:2023-11-01 02:33:20 25 4
gpt4 key购买 nike

我正在尝试在我的 AD 中创建一些本地组,但遗憾的是,如果我在我的上下文中设置 groupType 属性,我只会收到此异常

 Caused by: javax.naming.directory.InvalidAttributeValueException: Malformed 'groupType' attribute value; remaining name 'cn=localTestGroup1,ou=groups'
at com.sun.jndi.ldap.LdapClient.encodeAttribute(LdapClient.java:951)
at com.sun.jndi.ldap.LdapClient.add(LdapClient.java:999)
at com.sun.jndi.ldap.LdapCtx.c_bind(LdapCtx.java:393)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_bind(ComponentDirContext.java:277)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(PartialCompositeDirContext.java:197)
at javax.naming.directory.InitialDirContext.bind(InitialDirContext.java:163)
at org.springframework.ldap.core.LdapTemplate$21.executeWithContext(LdapTemplate.java:998)
at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:807)
... 36 more

有可能属性的值是错误的。还是我的问题无法解决?

private void createGroup(String groupname, String groupOU, long groupType) {
DistinguishedName dn = new DistinguishedName();
dn.add("ou", groupOU);
dn.add("cn", groupname);

DirContextAdapter ctx = new DirContextAdapter(dn);
ctx.setAttributeValues("objectclass", new String[] { "top", "group" });
ctx.setAttributeValue("groupType", groupType);
ctx.setAttributeValue("sAMAccountName", groupname);

ldapTemplate.bind(ctx);
}

public void createLocalGroup(String groupname, String groupOU) {
createGroup(groupname, groupOU, -2147483646);
}

澄清一下:我直接从 Activity 目录中得到了这个值-2147483646。你可以提到我正在使用 Spring Ldap 1.3

最佳答案

尝试将 groupType 的值作为字符串传递,但不要那么长。这应该可以解决您的问题。

但是您使用的 DN 看起来很奇怪。根据我的经验,AD 中的所有专有名称都以 DC=something 结尾。

关于java - JNDI Active Directory,创建具有作用域的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com