`
收藏列表
标题 标签 来源
ldap java, ldap
package com.neusoft.ermsuite.sso;

import java.util.Properties;

import javax.naming.AuthenticationException;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.ldap.LdapContext;

public class UserCheckForPortal {
	private LdapContext ctx = null;
	//private String baseName = ",OU=ou1,DC=hnyctest,DC=com";

	/**
	 * 初始化方法,初始化超级管理员的连接权限
	 */
	public UserCheckForPortal() {
	}
	
	/**
	 * 
	 * ldap验证登陆
	 * @param userDn
	 *            String
	 * @param password
	 *            String
	 * @return boolean
	 */
	public boolean authenticate(String userDn, String password,String ldapUrl,String domain) throws Exception {
		DirContext ctx1;
		boolean result = false;
		try {
			
			Properties ldapEnv = new Properties();
			ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,
					"com.sun.jndi.ldap.LdapCtxFactory");
			ldapEnv.put(Context.PROVIDER_URL, ldapUrl.trim());
			ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
			String user = userDn.indexOf(domain) > 0 ? userDn : userDn + domain;
			ldapEnv.put(Context.SECURITY_PRINCIPAL, user);
			ldapEnv.put(Context.SECURITY_CREDENTIALS, password);
			ctx1 = new InitialDirContext(ldapEnv);
			ctx1.close();
			result = true;
			return result;
		} catch (AuthenticationException e) {
			e.printStackTrace();
			System.out.println(e);
			System.err.println(e);
			return false;
		} catch (NamingException e) {
			e.printStackTrace();
			System.out.println(e);
			System.err.println(e);
			return false;
		}

	}
}
Global site tag (gtag.js) - Google Analytics