Java " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

Java涓璴dap鎬庝箞鑾峰彇user鐨勮繃婊ゅ櫒

扬州沐宇科技
2024-03-15 10:45:26
Java

鍦↗ava涓娇鐢↙DAP鑾峰彇鐢ㄦ埛杩囨护鍣ㄥ彲浠ラ€氳繃鏋勫缓LDAP鎼滅储杩囨护鍣ㄦ潵瀹炵幇銆備互涓嬫槸涓€涓ず渚嬩唬鐮佹潵鑾峰彇鐢ㄦ埛杩囨护鍣細

import javax.naming.directory.BasicAttribute;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.NamingEnumeration;

public class LDAPUserFilterExample {
    public static void main(String[] args) {
        try {
            // 璁剧疆LDAP鏈嶅姟鍣ㄨ繛鎺ヤ俊鎭?/span>
            String ldapUrl = "ldap://localhost:389";
            String baseDN = "dc=example,dc=com";
            String searchFilter = "(&(objectClass=user)(sAMAccountName=*))";

            // 璁剧疆LDAP璁よ瘉淇℃伅
            String username = "admin";
            String password = "password";

            // 杩炴帴LDAP鏈嶅姟鍣?/span>
            Hashtable<String, String> env = new Hashtable<String, String>();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL, ldapUrl);
            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            env.put(Context.SECURITY_PRINCIPAL, "cn=" + username + "," + baseDN);
            env.put(Context.SECURITY_CREDENTIALS, password);

            InitialLdapContext context = new InitialLdapContext(env, null);

            // 璁剧疆LDAP鎼滅储鎺у埗鍣?/span>
            SearchControls searchControls = new SearchControls();
            searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);

            // 鎵цLDAP鎼滅储
            NamingEnumeration<SearchResult> results = context.search(baseDN, searchFilter, searchControls);

            // 杈撳嚭鎼滅储缁撴灉
            while (results.hasMore()) {
                SearchResult result = results.next();
                System.out.println("DN: " + result.getName());
                System.out.println("Attributes: " + result.getAttributes());
            }

            // 鍏抽棴LDAP杩炴帴
            context.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

鍦ㄤ笂闈㈢殑绀轰緥浠g爜涓紝鎴戜滑棣栧厛璁剧疆浜哃DAP鏈嶅姟鍣ㄧ殑杩炴帴淇℃伅鍜岃璇佷俊鎭紝鐒跺悗鍒涘缓浜嗕竴涓?code>InitialLdapContext瀵硅薄鏉ヨ繛鎺DAP鏈嶅姟鍣ㄣ€傛帴鐫€璁剧疆浜哃DAP鎼滅储鎺у埗鍣?code>SearchControls锛屽苟鎵цLDAP鎼滅储鎿嶄綔銆傛渶鍚庯紝鎴戜滑閬嶅巻鎼滅储缁撴灉骞惰緭鍑虹敤鎴风殑DN鍜屽睘鎬с€傛渶鍚庯紝璁板緱鍏抽棴LDAP杩炴帴銆?/p>

扫码添加客服微信