博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA windows 域认证指南
阅读量:6847 次
发布时间:2019-06-26

本文共 1969 字,大约阅读时间需要 6 分钟。

hot3.png

import java.util.Hashtable;import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.ldap.InitialLdapContext;import javax.naming.ldap.LdapContext; public class LdapAuth {                 private String domain;         private String ldapHost;         private String searchBase;                 public LdapAuth(){                   this.domain = "${domain}";                   this.ldapHost = "ldap://${IP}:${PORT}";                   this.searchBase = "DC=${DC1},DC=${DC2}";         }                 public LdapAuth(String domain,String host,String dn){                   this.domain = domain;                   this.ldapHost = host;                   this.searchBase = dn;         }                 public boolean authLdap(String username,String pass){                                     String searchFilter = "(&(objectClass=user)(sAMAccountName=" + username + "))";                   Hashtable env = new Hashtable();                                     env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");                                     env.put(Context.PROVIDER_URL, ldapHost);        env.put(Context.SECURITY_AUTHENTICATION, "simple");        env.put(Context.SECURITY_PRINCIPAL, username + "@" + domain);        env.put(Context.SECURITY_CREDENTIALS, pass);               LdapContext ctxGC = null;        boolean ldapUser = false;        try {                            ctxGC = new InitialLdapContext(env,null);                            NamingEnumeration answer = ctxGC.search(searchBase, searchFilter,null);                                                       if (answer!=null) {                                     ldapUser = true;                            }                   } catch (Exception e) {                            // TODO: handle exception                   }                                     return ldapUser;         }

测试:

用户名密码正确:

转载于:https://my.oschina.net/guoenzhou/blog/333130

你可能感兴趣的文章
spark性能优化-JVM虚拟机垃圾回收调优
查看>>
Zen Coding 学习记录
查看>>
LC55 Jump Game
查看>>
MySQL主从复制与读写分离的实现
查看>>
shell编程养成好习惯
查看>>
SQL Server:字符串函数
查看>>
向指定URL 发送POST请求的方法
查看>>
《软件需求十步走》阅读笔记6
查看>>
第二次作业——App案例分析
查看>>
断点调试 重点知识
查看>>
【Todo】Python的工作原理
查看>>
springMVC的常用注解有哪些?
查看>>
daterangepicker -- bootstrap日期时间范围插件使用分享
查看>>
炼数成金数据分析课程---14、Logistic回归
查看>>
php开发面试题---数据库SQL调优的几种方式
查看>>
图像签名
查看>>
关于SqlHelper的功能用法理解
查看>>
关于_T、_TEXT、TEXT、_L 、L
查看>>
ruby 更换源 + sass 安装
查看>>
课堂练习——查找水王续
查看>>