1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          LDAP認證

          來源:互聯網轉載 時間:2024-01-29 08:24:58

          1.LDAP介紹

            LDAP,(Light Directory Access Protocol),基于X.500標準的輕量級目錄訪問協議,類似于目錄服務一樣,是一個為查詢瀏覽和搜索的數據庫,優勢在于他的數據存儲結構,即樹狀結構組織數據,他的讀性能高,寫性能差,不支持事務功能。

            LDAP目錄服務是由目錄數據庫和一套訪問協議組成的協議(ssl (port:389) / ssh (port:636)),不同的協議端口不一致。

          2.LDAP登錄實現原理

            每一個登錄,連接請求去發送本地的用戶、密碼給LDAP服務器,然后在LDAP服務器上進行匹配,然后判斷是否可以通過認證。

          3. LDAP配置代碼

            

          private LdapContext getLdapContext() {
          EnterpriseLDAPConfig config = new EnterpriseLDAPConfig()
          .baseDN("dc=fanuc,dc=com")
          .ip("106.38.46.129").port("389")
          .username("cn=Manager,dc=fanuc,dc=com")
          .password(IdsBase64Utils.encrypt("secret"));
          LDAPConnector ldapConnector = new LDAPConnector(config);

          assertNotNull(ldapConnector);
          return ldapConnector.connect();
          }

          /**
          * 根據 配置 初始化LDAP的連接
          *
          */
          public class LDAPConnector extends AbstractLdapHandler {

          private static final Logger LOG = LoggerFactory.getLogger(LDAPConnector.class);

          private EnterpriseLDAPConfig ldapConfig;

          public LDAPConnector(EnterpriseLDAPConfig ldapConfig) {
          this.ldapConfig = ldapConfig;
          }

          public LdapContext connect() {
          return connect(ldapConfig.baseDN());
          }

          public LdapContext connect(String baseDN) {
          baseDN = formatDN(baseDN);
          String url = createUrl(ldapConfig.ip(), ldapConfig.port(), baseDN);

          Hashtable<String, String> env = initialEnv(url, ldapConfig.username(), IdsBase64Utils.decrypt(ldapConfig.password()));
          try {
          if (ldapConfig.connType().equals(LDAPConnType.SSL)){
          env.put(Context.SECURITY_PROTOCOL, "ssl");
          }
          return new InitialLdapContext(env, null);
          } catch (NamingException e) {
          LOG.warn("Initial LDAPContext failed, url: " + url, e);
          return null;
          }

          }


          public abstract class AbstractLdapHandler {

          public static final String LDAP_START = "ldap://";

          /**
          * ldap://12.2.3.44:389/dc=idsmanager,DC=com
          */
          String createUrl(String ip, String port, String baseDN) {
          return LDAP_START + ip + ":" + port + "/" + baseDN;
          }


          /**
          * 初始化配置參數
          */
          Hashtable<String, String> initialEnv(String url, String userDN, String pwd) {

          Hashtable<String, String> env = new Hashtable<>();

          env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
          env.put(Context.PROVIDER_URL, url);
          env.put(Context.SECURITY_AUTHENTICATION, "simple");
          env.put(Context.SECURITY_PRINCIPAL, userDN);
          env.put(Context.SECURITY_CREDENTIALS, pwd);

          //支持 解析 AD中的 objectGUID
          env.put("java.naming.ldap.attributes.binary", "objectGUID");

          return env;
          }

           //其中env中的所需如下
          String INITIAL_CONTEXT_FACTORY = "java.naming.factory.initial";
          String PROVIDER_URL = "java.naming.provider.url";
          String SECURITY_AUTHENTICATION = "java.naming.security.authentication";
          String SECURITY_PRINCIPAL = "java.naming.security.principal";
          String SECURITY_CREDENTIALS = "java.naming.security.credentials";



          標簽:ldap認證-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          關于WPE的詳細解釋?WPE(Winsock packet editor)中文名是:網絡包編輯器在大多數編程工具中,Winsock被封裝為一個控件,成為一個網絡編程控件,非常方便,使用這個控件,編程工具可以編寫插件工具。WPE的工作原理及可行性分析在客戶端/服務器模式下的網絡游戲中,我們的信息都在服務器上。從服務器上修改個人用戶信息的可能性很小??蛻舳税惭b在您的機器上,當您玩游戲時,您發送一條指令...

          天津哪有廚具批發市場?解放橋旁邊靠近勸業場一側的那條街是專門做廚具的。另外河西樂園旁邊也有家廚具城,,一樣這兩個地方是天津津批零比較集中的地方。天津哪里有賣廚具的_?天津的批發廚具用品市場有很多,比較被當地人接受和認知(熟悉)的是以下幾處:1、在樂園,前進道的天津廚具城,就是前進道與白云路交叉口區域,里面廚具挺齊全的。2、解放橋南頭那,有個專門批發廚具的,地址:和平區解放北路21號。3、中國北方五...

          中國有哪些知名的K12教育培訓機構?易學中文培訓學校位于武漢。每年都有上萬人參加楚蔡作文比賽,只有5個小學特等獎獲得,易漢語獲得了其中的4個。這個傳說已經有15年了?!薄堕L江日報》、《武漢晨報》、《武漢電視臺》多次采訪報道。近日,央視《圓夢時代》節目組也前往武漢采訪報道!你知道嗎?k12教育網是什么的?K12,一個特殊的教育術語(從幼兒園到兩個五年級),是學前教育到高中教育的縮寫?,F在它被廣泛用于...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>