import java.util.Properties;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.NamingException;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.Context;
import javax.naming.directory.*;
//import org.apache.ldap.common.message.Control;
/*
* Created on 2006-9-20
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class test {
private void putAttribute(Attributes attrs,
String attrName, String attrValue) {
if (attrValue != null && attrValue.length() != 0) {
Attribute attr =
new BasicAttribute(attrName, attrValue);
attrs.put(attr);
}
}
public static void main(String[] args) throws NamingException {
test s = new test();
s.doProcess();
}
public void doProcess() throws NamingException{
Properties p = new Properties();
p.setProperty("java.naming.factory.initial","com.sun.jndi.ldap.LdapCtxFactory");
p.setProperty("java.naming.provider.url","ldap://lisa:389");
p.setProperty("java.naming.security.authentication","simple");
p.setProperty(Context.SECURITY_PRINCIPAL, "CN=administrator,cn=users,dc=lisa,dc=beijing,dc=indigo");
p.put(Context.SECURITY_CREDENTIALS, "XXXXXX");
InitialLdapContext ctx = new InitialLdapContext(p,null);
// 添加400个, 设置用户属性
for(int i=1 ;i<400;i++){
String uid = "testtesttest"+i;
String cn= "test" + i;
Attributes attrs = new BasicAttributes("cn",cn,true);
Attribute objclass = new BasicAttribute("objectclass");
objclass.add("top");
objclass.add("person");
objclass.add("organizationalPerson");
objclass.add("inetorgperson");
attrs.put(objclass);
String givenname = "test"+i;
putAttribute(attrs, "cn",cn);
putAttribute(attrs, "givenname", givenname);
putAttribute(attrs, "sn", "test1");
putAttribute(attrs, "uid", uid);
putAttribute(attrs, "userpassword", "12345^a");
putAttribute(attrs, "mail", "lni@indigo.com");
putAttribute(attrs,"displayName","中文"+i);
putAttribute(attrs, "telephonenumber", "111");
putAttribute(attrs, "facsimiletelephonenumber", "1111");
// 添加用户节点
ctx.createSubcontext("CN="+cn+",ou=集团公司,dc=lisa,dc=beijing,dc=indigo" , attrs);
}
//很奇怪的是, 被添加的用户都是处于禁用状态的, 怎么通过程序来启用用户呢?希望有高手指点.
}
}