private boolean addUser(String userDN, String userName, String userPwd) {
try {
Attributes attrs = new BasicAttributes(true);
attrs.put("objectClass", "user");
attrs.put("sAMAccountName", userName);
attrs.put("uid", "oracle");
attrs.put("sn", "Lee");
// attrs.put("cn", "Amy Lee");
// attrs.put("objectClass", "uidObject,person");
attrs.put("telephoneNumber", "+1 408 555 0033");
attrs.put("userPassword", "redqueen".getBytes());
attrs.put("mail", "sunny2011.com,liu@sina.com.cn,xyh@powerise.com.cn");
// some useful constants from lmaccess.h
int UF_ACCOUNTDISABLE = 0x0002;
int UF_PASSWD_NOTREQD = 0x0020;
int UF_NORMAL_ACCOUNT = 0x0200;
int UF_PASSWORD_EXPIRED = 0x800000;
attrs.put("userAccountControl", Integer.toString(UF_NORMAL_ACCOUNT
+ UF_PASSWD_NOTREQD + UF_PASSWORD_EXPIRED
+ UF_ACCOUNTDISABLE));
// Create the context
ctx.createSubcontext(userDN, attrs);
System.out.println("createSubcontext successful !");
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
调用方法: inst.addUser("CN=testTwo,CN=Users,DC=kvmad,DC=com", "chenfei2", "123");