亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

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

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

  目標:使用者只需要會使用List,Map 數據結構,將對LDAP的操作進行封裝
  
  類:主要有三個類
  
  1 Env類 包含LDAP的連接信息
  
  2 LdapConnectionFactory類 ldap連接工廠,提供初始化及獲取ldap連接的方法
  
  3 LdapOperUtils ldap的處理工具類,提供了各種操作ldap的方法。
  
  ldap連接工廠,提供初始化ldap連接的方法
  
  package com.common.ldapconnection;
  
  import java.util.PRoperties;
  import javax.naming.Context;
  import javax.naming.NamingException;
  import javax.naming.Directory.DirContext;
  import javax.naming.directory.InitialDirContext;
  import org.apache.log4j.Logger;
  import org.apache.commons.lang.StringUtils;
  
  /**
  * 功能描述:ldap連接工廠,提供初始化ldap連接的方法。
  * @author liaowufeng
  * @version 1.0
  */
  public class LdapConnectionFactory {
  // 初始化日志處理類
  static Logger log = Logger.getLogger(LdapConnectionFactory.class.getName());
  
  /**
  * 構造函數私有,防止實例化
  */
  private LdapConnectionFactory() {
  }
  
  /**
  * 從LDAP連接池中取得一個連接
  * @param poolName String 連接池名
  * @env  連接LDAP的連接信息
  * @return DirContext
  */
  public static DirContext getDirContext(String poolName,Env env) {
  // 取得Context
  try {
  // 日志打印,表明進入此方法
  log.debug(Constants.INTOMETHOD + "getDirContext");
  // 初始化Properties對象
  Properties mEnv = new Properties();
  // 使用LDAP/AD的認證方式
  mEnv.put(Context.AUTHORITATIVE, "true");
  // 使用連接池
  mEnv.put("com.sun.jndi.ldap.connect.pool", "true");
  // 設定LDAP/AD的連接工廠
  mEnv.put(Context.INITIAL_CONTEXT_FACTORY, env.factory);
  // 設定LDAP/AD的url地址
  mEnv.put(Context.PROVIDER_URL, env.url);
  // 設定連接TimeOut
  if(!StringUtils.isEmpty(env.timeOut)) {
  mEnv.put("com.sun.jndi.ldap.connect.timeout", env.timeOut);
  }
  // 設定安全模式為simple方式
  mEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
  // ssl通道訪問
  if (env != null && "ssl".equals(env.securityProtocol)) {
  // 設定訪問協議為ssl
  mEnv.put(Context.SECURITY_PROTOCOL, env.securityProtocol);
  // 設置訪問證書屬性,若沒有此證書將無法通過ssl訪問AD
  System.setProperty("javax.net.ssl.trustStore",
  env.sslTrustStore);
  }
  // 讀取可以登陸ldap的帳號、密碼
  mEnv.put(Context.SECURITY_PRINCipAL, env.adminUID);
  mEnv.put(Context.SECURITY_CREDENTIALS, env.adminPWD);
  
  log.debug(Constants.INIT + "DirContext");
  // 通過參數連接LDAP/AD
  DirContext ctx = new InitialDirContext(mEnv);
  log.debug("LdapConnectionFactory:" + Constants.INIT + "DirContext" +
  Constants.SUCCESS);
  return ctx;
  
  }
  catch (NamingException ex) {
  ex.printStackTrace();
  log.error("LdapConnectionFactory:" + Constants.INIT + "DirContext" +
  Constants.FAIL);
  log.error(ex.getMessage());
  return null;
  }
  }
  
  /**
  * 關閉LDAP連接
  * @param dirContext DirContext 已連接的LDAP的Context實例
  */
  public static void closeDirContext(DirContext dirContext) {
  try {
  if (dirContext != null)
  dirContext.close();
  }
  catch (Exception ex) {
  ex.printStackTrace();
  log.error("not close DirContext");
  }
  }
  
  
  /**
  * 獲取 LDAP 服務器連接的方法
  * @param env 連接LDAP的連接信息
  * @return DirContext - LDAP server的連接
  */
  public static DirContext getDirContext(Env env) {
  try {
  // 初始化Properties對象
  Properties mEnv = new Properties();
  // 使用LDAP/AD的認證方式
  mEnv.put(Context.AUTHORITATIVE, "true");
  // 設定LDAP/AD的連接工廠
  mEnv.put(Context.INITIAL_CONTEXT_FACTORY, env.factory);
  // 設定LDAP/AD的url地址
  mEnv.put(Context.PROVIDER_URL, env.url);
  // 設定連接TimeOut
  if (!StringUtils.isEmpty(env.timeOut)) {
  mEnv.put("com.sun.jndi.ldap.connect.timeout", env.timeOut);
  }
  // 設定安全模式為simple方式
  mEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
  // ssl通道訪問
  if (env != null && "ssl".equals(env.securityProtocol)) {
  // 設定訪問協議為ssl
  mEnv.put(Context.SECURITY_PROTOCOL, env.securityProtocol);
  // 設置訪問證書屬性,若沒有此證書將無法通過ssl訪問AD
  System.setProperty("javax.net.ssl.trustStore",
  env.sslTrustStore);
  }
  // 讀取可以登陸ldap的帳號、密碼
  mEnv.put(Context.SECURITY_PRINCIPAL, env.adminUID);
  mEnv.put(Context.SECURITY_CREDENTIALS, env.adminPWD);
  
  log.debug(Constants.INIT + "DirContext");
  // 通過參數連接LDAP/AD
  DirContext ctx = new InitialDirContext(mEnv);
  log.debug("LdapConnectionFactory:" + Constants.INIT + "DirContext" +
  Constants.SUCCESS);
  return ctx;
  
  }
  catch (NamingException ex) {
  ex.printStackTrace();
  log.error("LdapConnectionFactory:" + Constants.INIT + "DirContext" +
  Constants.FAIL);
  log.error(ex.getMessage());
  return null;
  }
  }
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人剧情片在线观看| 中文字幕日韩电影| 欧美一区二区三区精品电影| 国产精品视频大全| 国产精品亚洲аv天堂网| 欧美成人精品在线观看| 2019av中文字幕| 欧美午夜性色大片在线观看| 中文字幕亚洲无线码a| 亚洲一区二区久久久久久久| 欧美黑人一级爽快片淫片高清| 亚州成人av在线| 欧美日韩激情视频| 伊人亚洲福利一区二区三区| 国产精品久久久久久久久免费看| 亚洲成人黄色网址| 欧美日韩国产中字| 91香蕉亚洲精品| 亚洲图片在区色| 欧美精品久久久久久久久久| 亚洲国产成人91精品| 亚洲日本成人网| 国产成人在线精品| 欧美亚洲激情视频| 欧美自拍视频在线| 亚洲а∨天堂久久精品喷水| 亚洲欧美日韩在线高清直播| 国产欧美一区二区三区在线看| 国产欧美日韩精品专区| 91精品国产高清自在线看超| 亚洲精品一区二区在线| 久久精品亚洲国产| 高清一区二区三区日本久| 欧美日韩亚洲高清| 欧美性猛交xxxx免费看久久久| 日韩精品中文字幕有码专区| 91久久精品美女| 欧美国产视频一区二区| 日韩成人性视频| 欧美亚洲成人xxx| 日韩av中文字幕在线| 亚洲第一区中文99精品| 国产欧美精品va在线观看| 热re99久久精品国产66热| 一本大道亚洲视频| **欧美日韩vr在线| 欧洲成人免费aa| 成人黄在线观看| 国产精品日韩欧美| 久久久久久91| 欧美特黄级在线| 91精品在线看| 成人黄色免费看| 日韩中文有码在线视频| 亚洲激情视频在线| 理论片在线不卡免费观看| 久久人体大胆视频| 欧美精品aaa| 国内外成人免费激情在线视频网站| 日韩精品在线观看一区| 欧美一区二区三区……| 有码中文亚洲精品| 国产精欧美一区二区三区| 福利视频一区二区| 欧美性videos高清精品| 欧美精品一本久久男人的天堂| 亚洲自拍偷拍视频| 久久视频免费在线播放| 欧美精品国产精品日韩精品| 久久精品久久久久电影| 国产亚洲欧美aaaa| 久久久精品亚洲| 国产精品电影久久久久电影网| 尤物九九久久国产精品的特点| 久久精品国产免费观看| 国产精品∨欧美精品v日韩精品| 久久久久五月天| 亚洲亚裔videos黑人hd| 欧美成人在线网站| 精品久久在线播放| 久久久久久国产| 欧美专区日韩视频| 国产精品视频26uuu| 疯狂做受xxxx欧美肥白少妇| 3344国产精品免费看| 欧美成人亚洲成人日韩成人| 日韩欧美在线视频| 亚洲第一区在线| 国产精品r级在线| 亚州精品天堂中文字幕| 精品亚洲一区二区三区在线播放| 国产精品99久久久久久www| 欧美一级淫片丝袜脚交| 91福利视频在线观看| 日韩专区在线观看| 亚洲夜晚福利在线观看| 欧美第一黄网免费网站| 中文欧美日本在线资源| 亚洲精品动漫久久久久| 欧美专区在线播放| 91亚洲精华国产精华| 久久精品91久久香蕉加勒比| 欧美电影在线观看高清| 亚州精品天堂中文字幕| 欧美在线激情视频| 亚洲男人的天堂在线| 亚洲欧美日韩国产成人| 日韩人在线观看| 性欧美视频videos6一9| 欧美疯狂做受xxxx高潮| 国内免费精品永久在线视频| 亚洲成人av中文字幕| 日本不卡免费高清视频| 亚洲女性裸体视频| 欧美日韩国产一中文字不卡| 日韩电影第一页| 成人亚洲综合色就1024| 亚洲最大的成人网| 国产剧情久久久久久| 91亚洲精品一区| 国产精品99久久久久久久久| 日韩av在线网| 一区二区日韩精品| 欧美午夜xxx| 欧美高清在线播放| 日韩69视频在线观看| 日韩av中文字幕在线| 国产精品成人久久久久| 国产一区二区三区直播精品电影| 国产精品视频在线播放| 国产精品电影久久久久电影网| 国产精品国产自产拍高清av水多| 国产精品一区=区| 欧美性色xo影院| 97精品久久久| 欧美午夜精品久久久久久浪潮| 亚洲国产精品人人爽夜夜爽| 中文字幕久久精品| 亚洲欧美国产一区二区三区| 538国产精品一区二区免费视频| 亚洲视频一区二区| 欧美激情一区二区三区成人| 欧美另类极品videosbest最新版本| 亚洲伊人成综合成人网| 国产成人一区二区在线| 久久精品在线视频| 国产va免费精品高清在线| 欧美成人精品激情在线观看| 欧美亚洲国产成人精品| 国产精品v日韩精品| 亚洲国产一区二区三区在线观看| 91精品久久久久久久久久入口| 午夜精品久久久久久99热| 久久亚洲国产精品成人av秋霞| 97视频在线观看成人| 91美女片黄在线观| 亚洲免费视频在线观看| 国产在线a不卡| 正在播放亚洲1区| 中文字幕亚洲激情| 亚洲黄页视频免费观看| 爱福利视频一区| 亚洲色图偷窥自拍| 欧美日韩在线观看视频|