java连接微软AD进行用户验证

java连接微软AD进行用户验证

2010-10-21 21:43:40| 分类: Java |字号 订阅
import java.util.Hashtable;
  import javax.naming.Context;

  import javax.naming.NamingException;

  import javax.naming.directory.DirContext;

  import javax.naming.directory.InitialDirContext;

  /**

  * @author winter

  *

  */

  public class Test {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  String userName = "xxxxx"; //用户名称

  String password = "xxxxx"; //密码

  String host = "xxx.xxx.xxx.xxx"; //AD服务器

  String port = "389"; //端口

  String domain = "@xxx.com"; //邮箱的后缀名

  String url = new String("ldap://" + host + ":" + port);

  String user = userName.indexOf(domain) > 0 ? userName : userName + domain;

  Hashtable<String, String> env = new Hashtable<String, String>();

  DirContext ctx;

  env.put(Context.SECURITY_AUTHENTICATION, "simple");

  env.put(Context.SECURITY_PRINCIPAL, user); //不带邮箱后缀名的话,会报错,具体原因还未探究。高手可以解释分享。

  env.put(Context.SECURITY_CREDENTIALS, password);

  env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");

  env.put(Context.PROVIDER_URL, url);

  try {

  ctx = new InitialDirContext(env);

  ctx.close();

  System.out.println("验证成功!");

  } catch (NamingException err) {

  err.printStackTrace();

  System.out.println("验证失败!");

  }

  }

  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值