4、调用以下程序进行认证:
public int lDAPAuth(String usserName, String adminPassword)
throws NamingException, JDOMException {
// 获取Ad域服务器配置信息
RadiusConfigObj radiusConfigObj = AnalysisPattern.getADConfigInfo();
if (StringUtils.isEmpty(radiusConfigObj.getIp())
|| StringUtils.isEmpty(radiusConfigObj.getAuthPort())
|| StringUtils.isEmpty(radiusConfigObj.getDominName())) {
return 61;
}
Hashtable HashEnv = new Hashtable();
// LDAP访问地址
String LDAP_URL = "ldap://" + radiusConfigObj.getIp() + ":"
+ radiusConfigObj.getAuthPort();
// 注意用户名的写法:domain\User 郭丽伟@adTest.com
String adminName = usserName.trim() + "@" + radiusConfigObj.getDominName().trim();
HashEnv.put(Context.SECURITY_AUTHENTICATION, "simple"); // LDAP访问安全级别 HashEnv.put(Context.SECURITY_PRINCIPAL, adminName); // AD User HashEnv.put(Context.SECURITY_CREDENTIALS, adminPassword); // AD Password HashEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); // LDAP工厂类 HashEnv.put(Context.PROVIDER_URL, LDAP_URL); // 调用接口进行认证,如果认证不通过,ctx == null,并抛出异常 LdapContext ctx = new InitialLdapContext(HashEnv, null); if (null == ctx) { return 62; } return 1; } }