java ldap增加用户
时间: 2023-07-11 07:20:42 浏览: 89
Java LDAP Server-开源
可以使用Java的JNDI API来实现LDAP用户的增加。以下是一个简单的示例代码:
```java
import javax.naming.*;
import javax.naming.directory.*;
public class LDAPAddUser {
public static void main(String[] args) {
try {
// 设置LDAP服务器地址和端口
String ldapServer = "ldap://localhost:389";
// 设置管理员DN和密码
String adminName = "cn=admin,dc=example,dc=com";
String adminPassword = "password";
// 设置新用户的DN
String newUserDN = "cn=newuser,ou=people,dc=example,dc=com";
// 创建LDAP连接
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapServer);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPassword);
DirContext ctx = new InitialDirContext(env);
// 创建用户属性
Attributes attrs = new BasicAttributes();
attrs.put("objectClass", "inetOrgPerson");
attrs.put("cn", "newuser");
attrs.put("sn", "newuser");
attrs.put("uid", "newuser");
attrs.put("userPassword", "password");
// 添加用户
ctx.createSubcontext(newUserDN, attrs);
System.out.println("User added successfully.");
// 关闭LDAP连接
ctx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用了`javax.naming.directory`包中的`DirContext`和`Attributes`类来创建用户属性和添加用户。在创建LDAP连接时,我们需要设置LDAP服务器地址和端口、管理员DN和密码。新用户的DN可以根据实际情况进行修改。在添加用户时,我们需要使用`createSubcontext()`方法,将新用户的属性和DN作为参数传入。最后,我们需要关闭LDAP连接。
需要注意的是,此代码仅为示例,实际使用时需要根据实际情况进行修改和调整。
阅读全文