LDAP到底该怎么验证呢
public boolean loginCheckByLDAP(String username,String password){ boolean flag = true; String initialContextFactory = "com.sun.jndi.ldap.LdapCtxFactory"; String ad4ProviderURL = "ldap://localhost:389"; String securityAuthentication = "hz"; String domain = "ou=clazz,dc=ourschool,dc=org"; if(!username.startsWith(domain)){ username = domain+""+username; } Hashtable<String,String> env = new Hashtable<String,String>(); env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory); env.put(Context.PROVIDER_URL, ad4ProviderURL); env.put(Context.SECURITY_AUTHENTICATION, securityAuthentication); env.put(Context.SECURITY_PRINCIPAL, username); env.put(Context.SECURITY_CREDENTIALS, password); LdapContext ctx = null; try { ctx = new InitialLdapContext(env, null); } catch (NamingException e) { System.out.println("Authentication error, username is: " + username); flag = false; }finally{ if(ctx!=null){ try { ctx.close(); } catch (NamingException e) { e.printStackTrace(); } } } return flag; }
为什么验证不了啊.....Authentication error, username is: ou=clazz,dc=ourschool,dc=orghz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
很短的,一般就一个单词
你本地有搭建域环境么,名称是啥
有啊,我是windows上用的openldap,只要配置slapd.conf文件啊,database bdb suffix "dc=ourschool,dc=org" rootdn "cn=huzhuang,dc=ourschool,dc=org" directory D:/openldap/var/openldap-data index objectClass eq
openLDAP没用过,我这个代码使用来登录windows的域服务器的
你试试domian=“ourschool”或者domain=“ourschool.org”
还有下面的链接你参考一下
http://www.oschina.net/question/1_4479
@红薯 ,继续求教
domain不是完整的域名吗?该填多少?
回复
你想的域名和我说的应该不一样,我说的类似与(oschina.net)这种
回复
你平时有没有使用过域帐号?,就是类似与domain/username这种的帐号
没有使用过.....你能看出来需要怎么写吗?
domain不对啊
@晕dows