コード例 #1
0
ファイル: UserLDAP.java プロジェクト: sucheng1980/suc_java
 // 修改用户信息
 public void modifyUser(UserInformationObject userobj) throws NamingException {
   // 用户对象为空
   if (userobj == null) {
     throw new NamingException("No user information!n");
   }
   // 检查uid
   String uid = userobj.getProperty(UserInformationObject.USER_ID);
   if (uid == null && uid.length() == 0) {
     throw new NamingException("No uid you specify!n");
   }
   if (!isUserexist(uid)) {
     throw new NamingException("The user(uid: " + uid + ") does not exist!n");
   }
   int size = userobj.size(); // 用户属性的个数
   // 如果属性个数只有一个,那么只设置了uid,不用修改用户属性
   if (size > 1) {
     String password = userobj.getProperty(UserInformationObject.PASSWORD);
     String email = userobj.getProperty(UserInformationObject.EMAIL);
     String phone = userobj.getProperty(UserInformationObject.PHONE);
     String fax = userobj.getProperty(UserInformationObject.FAX);
     String commonName = userobj.getProperty(UserInformationObject.COMMON_NAME);
     String firstName = userobj.getProperty(UserInformationObject.FIRST_NAME);
     String lastName = userobj.getProperty(UserInformationObject.LAST_NAME);
     // 设置属性
     Attributes attrs = new BasicAttributes();
     putAttribute(attrs, "cn", commonName);
     putAttribute(attrs, "givenname", firstName);
     putAttribute(attrs, "sn", lastName);
     putAttribute(attrs, "userpassword", password);
     putAttribute(attrs, "mail", email);
     putAttribute(attrs, "telephonenumber", phone);
     putAttribute(attrs, "facsimiletelephonenumber", fax);
     // 修改属性
     ctx.modifyAttributes("uid=" + uid + "," + BASE_DN, DirContext.REPLACE_ATTRIBUTE, attrs);
     System.out.println("User(uid: " + uid + ") information modified.n");
   } else {
     throw new NamingException("No modify information you specify!n");
   }
 }