拿来就用,不废话
package cn.com.gome.pay.admin.utils;
import javax.naming.Context;
import javax.naming.ldap.InitialLdapContext;
import java.util.Properties;
/**
* Created by Administrator on 2020/7/21.
*/
public class AuthTest {
private String username="";
private String password="";
private String ip="";
private String ldapDomain="";
public boolean login() {
// 判断必填字段是否全部填写
Properties env = new Properties();
String account = username + "@" + ldapDomain;
String ldapURL = "LDAP://" + ip + ":" + "389";
env.put(Context.PROVIDER_URL, ldapURL);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, account);
env.put(Context.SECURITY_CREDENTIALS, password);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
//批量处理
env.put(Context.BATCHSIZE, "50");
// 连接超时设置
env.put("com.sun.jndi.ldap.connect.timeout", "3000");
// LDAP连接池
env.put("com.sun.jndi.ldap.connect.pool", "true");
// LDAP连接池最大数
env.put("com.sun.jndi.ldap.connect.pool.maxsize", "3");
// LDAP连接池优先数
env.put("com.sun.jndi.ldap.connect.pool.prefsize", "1");
// LDAP连接池超时
env.put("com.sun.jndi.ldap.connect.pool.timeout", "300000");
// LDAP连接池初始化数
env.put("com.sun.jndi.ldap.connect.pool.initsize", "1");
// LDAP连接池的认证方式
env.put("com.sun.jndi.ldap.connect.pool.authentication", "simple");
try {
new InitialLdapContext(env, null);
return true;
} catch (Exception e) {
return false;
}
}
public static void main(String[] args) {
System.out.print(new AuthTest().login());
}
}