Java涓璴dap鎬庝箞鑾峰彇user鐨勮繃婊ゅ櫒
鍦↗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>
相关问答