国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

封裝JNDI操作LDAP服務器的工具類(5)

2019-11-18 12:24:24
字體:
來源:轉載
供稿:網友

  目標:使用者只需要會使用List,Map 數據結構,將對LDAP的操作進行封裝
  
  類:主要有三個類
  
  1 Env類 包含LDAP的連接信息
  
  2 LdapConnectionFactory類 ldap連接工廠,提供初始化及獲取ldap連接的方法
  
  3 LdapOperUtils ldap的處理工具類,提供了各種操作ldap的方法。
  
  如何使用封裝JNDI操作LDAP服務器的工具類
  
  下面是一個例子
  
  測試類的功能,向windows Active Directory 增加一個域用戶 lwf2_count,并激活該帳戶
  
  public class TestOper {
  
  public static void main(String args[]) throws BaseException,
  NamingException, UnsupportedEncodingException {
  // 連接Active Directory 信息
  Env env = new Env();
  env.factory = "com.sun.jndi.ldap.LdapCtxFactory";
  env.url = "ldap://10.110.179.175:389";
  env.adminUID = "cn=administrator,cn=users,DC=securitytest,DC=boco";
  env.adminPWD = "Ba88736612";
  DirContext dirContext = LdapConnectionFactory.getDirContext(env);
  
  // 增加一個Active Directory 用戶需要的屬性
  List list1 = new ArrayList();
  Map attMap = new HashMap();
  
  list1.add("top");
  list1.add("person");
  list1.add("organizationalPerson");
  list1.add("user");
  attMap.put("objectclass", list1);
  
  attMap.put("cn","lwf2_count"); // Active Directory 的name
  ttMap.put("sn","liao");   // Active Directory 的 姓
  attMap.put("givenName","wufeng");    // Active Directory 的 名
  attMap.put("displayName","liaowufeng"); // Active Directory 的 顯示名
  
  attMap.put("userPRinc  attMap.put("samAccountName","lwf2_name"); // Active Directory 的 用戶登錄名 (widnows 2000 以前版本)
  
  String newPass
Word = "bA123456";
  attMap.put("userPassword",newPassword); // 用戶密碼
  
  int UF_ACCOUNTDISABLE = 0x0002;
  int UF_PASSWD_NOTREQD = 0x0020;
  int UF_PASSWD_CANT_CHANGE = 0x0040;
  int UF_NORMAL_ACCOUNT = 0x0200;
  int UF_DONT_EXPIRE_PASSWD = 0x10000; // 激活帳號
  int UF_PASSWORD_EXPIRED = 0x800000;
  // 激活帳號
  attMap.put("userAccountControl", Integer.toString(UF_DONT_EXPIRE_PASSWD));
  
  LdapOperUtils.addContext(dirContext,"CN=lwf2_count,CN=Users,DC=securitytest,DC=boco", attMap);
  // 關閉dirContext
  LdapConnectionFactory.closeDirContext(dirContext);
  }
  }
  
  好了,就寫到這了,LdapOperUtils這個類提供了LDAP操作大多數要使用的方法。所有方法在實際工作中都使用過。
  
  對于各位有什么更好的想法,或需要的操作,沒有提供到,請與我聯系,共同討論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新邵县| 七台河市| 安福县| 永清县| 无锡市| 习水县| 台北县| 隆回县| 梧州市| 墨竹工卡县| 高清| 丰都县| 新龙县| 平利县| 南投县| 贡嘎县| 富蕴县| 瓦房店市| 宁蒗| 涞水县| 安义县| 正安县| 古交市| 惠东县| 金秀| 漳州市| 彭阳县| 凤阳县| 枣阳市| 莱西市| 兖州市| 伊宁市| 习水县| 威海市| 乡宁县| 乐业县| 广平县| 炎陵县| 遵义市| 儋州市| 开平市|