[英]Adding User on LDAP via JNDI (Java) -> NoPermissionError
首先,我想解释一下我想要做什么以及代码的外观:
我想通过 JNDI 在我的 LDAP 和 JAVA 上添加一个用户,我添加了以下代码:
public void addUser(String firstName, String lastName, String number) throws NamingException {
Properties initialProperties = new Properties();
initialProperties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
initialProperties.put(Context.PROVIDER_URL, "***");
initialProperties.put(Context.SECURITY_AUTHENTICATION, "simple");
initialProperties.put(Context.SECURITY_PRINCIPAL, "***");
initialProperties.put(Context.SECURITY_CREDENTIALS, "***");
DirContext context = new InitialDirContext(initialProperties);
BasicAttributes attributes = new BasicAttributes();
Attribute attribute = new BasicAttribute("objectClass");
attribute.add("top");
attribute.add("person");
attribute.add("organizationalPerson");
attribute.add("inetOrgPerson");
Attribute sn = new BasicAttribute("sn");
Attribute cn = new BasicAttribute("cn");
sn.add(lastName);
cn.add(firstName);
attributes.put(sn);
attributes.put(cn);
attributes.put(attribute);
try {
context.createSubcontext("***", attributes);
} catch(NamingException e) {
e.printStackTrace();
}
}
当我调用该方法时,出现以下错误:
javax.naming.NoPermissionException: [LDAP: error code 50 - 00000005: SecErr: DSID-031528D2, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
在我看来这没有任何意义,因为我创建了另外两种方法,一种用于获取所有有效的用户,另一种用于编辑也有效的用户,因此我有权读取和写入用户,但是当我想要创建一个用户说我没有权限?
其他人有这个问题吗? 在 LDAP 上是否需要对管理员用户进行任何配置? 但是管理员应该拥有所有权利吗?
我希望任何人都可以帮助我::)
问候,
费边。
所以我有权读取和写入用户,但是当我想创建一个用户时,它说我没有权限
读取、写入和创建是 3 个独立的权限。 用户可以拥有对现有对象的写入权限,但无权创建新的 object。 这些权限可以在每个 OU 上进行不同的设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.