您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> 用户登陆画面想用ldap验证密码,没发下手了

用户登陆画面想用ldap验证密码,没发下手了

来源:网络整理     时间:2016/8/19 13:48:58     关键词:

关于网友提出的“ 用户登陆画面想用ldap验证密码,没发下手了”问题疑问,本网通过在网上对“ 用户登陆画面想用ldap验证密码,没发下手了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 用户登陆画面想用ldap验证密码,没发下手了
描述:

框架是这样的,用tomcat做web服务器,登陆画面通过ldap和另一台叫Active Directory的server通信,验证密码。
手头有几个ldap.jar,还有一个ldap.properties,怎么用啊,ldap.properties里有PROVIDER_URL=ldap://xxxxxx:389  这个东西是不是 Active Directory server 的设置啊? Active Directory server 上有一张用户表,Active Directory server 需要设置什么东西吗?


解决方案1:

1)先用hashTable初始化ldap用到的参数。
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://192.***.***.***:portNumber(389 is defualt)");
env.put(Context.SECURITY_PRINCIPAL,userID+"yourDomain(@***.com)");//
env.put(Context.SECURITY_CREDENTIALS, pass);
userID 和 pass就是登录域的账号。不要用全称。因为你在上面用到了域名。
2)开始验证。通过try..catch来判断用户的合法性。
try{
LdapContext ctx = new InitialLdapContext(env, null);
System.out.println("Succeess");
} catch (Exception e) {
if (e.getMessage().indexOf("775") > = 0) {
System.out.println("你的账号被锁了。");
}else {
System.out.println("Invalid User");
}
}


以上介绍了“ 用户登陆画面想用ldap验证密码,没发下手了”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3392978.html

相关图片

相关文章