Java连接微软 Active Directory进行用户验证
2011-10-13 14:38
357 查看
以下是代码片段:
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 env = new Hashtable();
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("验证失败!");
}
}
}
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 env = new Hashtable();
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("验证失败!");
}
}
}
相关文章推荐
- ldap验证用户(java)<不能以simple协议来获取连接进行连接>
- java 连接 LDAP 进行登录验证初接触
- Java界面开发——登录并对用户身份进行验证
- mongodb3.0分片及java代码连接操作测试(开启用户验证)
- VS2010 连接数据库进行用户验证和注册(学习笔记)
- PHP LDAP连接微软活动目录进行身份验证
- [C#]VS2010 连接数据库进行用户验证和注册(学习笔记)
- Java程序通过LDAP对用户进行登陆验证
- 四则运算程序扩展:将程序改为java语言,并允许用户输入,对输入结果进行验证
- Java界面开发——登录并对用户身份进行验证
- <java EE 项目:petstore> 从一个简单项目看 java web 如何在本jsp页面上对用户输入的格式进行限制与验证
- python连接mongodb并进行用户验证
- 制作一个银行卡用户登录页面,提交后连接数据库进行登录验证,根据验证结果跳转到不同页面
- java 域服务器 验证 到与服务器端用域用户进行身份验证:
- java(JDBC连接数据库)[对Statement进行封装]
- 如何根据用户所在分组进行身份验证
- java通过jdbc连接sqlite数据库进行CRUD操作
- JAVA对MYSQL进行连接、插入、修改、删除操作
- python调用pam模块进行linux用户验证
- 1 完成登录页面(到记事本文件进行密码和用户名的验证)。 2 完成 用户注册页面(将注册信息显示在本页面 div 中)。