`
hkme
  • 浏览: 140744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java验证AD域用户

 
阅读更多

import java.util.Hashtable;

 

import javax.naming.Context;

import javax.naming.NamingException;

import javax.naming.directory.DirContext;

import javax.naming.directory.InitialDirContext;

/**

* java验证AD域用户登录

* 传入用户名(userName)和密码(password)进行验证,验证成功返回用户名

* @author guob

*

*/

public class TestAD {

 

public String check(String userName,String password) {

String host  = "10.156.129.72";  // AD服务器IP(一共2个AD域服务器,备份的效果,另一个是10.156.129.95)

String port  = "389"; // 端口

String DN_OU = "OU=Capitaland China,OU=CCH,DC=capitaland,DC=com,DC=cn" ;

String DN_CN = "CN="+userName;

 

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

 

Hashtable env = new Hashtable();

DirContext ctx;

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

//env.put(Context.SECURITY_AUTHENTICATION, "none");

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

env.put(Context.PROVIDER_URL, url);

//env.put(Context.SECURITY_PRINCIPAL, DN_CN+","+DN_OU); 

env.put(Context.SECURITY_PRINCIPAL, userName); 

env.put(Context.SECURITY_CREDENTIALS, password);

 

try {

ctx = new InitialDirContext(env);// 初始化上下文

System.out.println("认证成功");

 

ctx.close();

return userName; //验证成功返回name

} catch (javax.naming.AuthenticationException e) {

System.out.println("认证失败");

System.out.println("e.getExplanation():"+e.getExplanation());

System.out.println("e.getMessage():"+e.getMessage());

return "";

}catch (Exception e) {

System.out.println("认证出错:" + e);

return "";

}

}

 

public static void main(String[] args) {

TestAD T = new TestAD();

System.out.println("Result:"+T.check("lcms", "11111111"));

System.out.println("Result:"+T.check("shicn4", "P@ssw0rd"));

System.out.println("Result:"+T.check("shicn4", "wertyuio"));

}

}

分享到:
评论

相关推荐

    java验证AD域用户登录

    Java验证AD域用户登录是企业级应用中常见的一种身份验证方式,主要用于确保只有授权的用户才能访问特定的系统或服务。AD(Active Directory)域是由微软Windows Server操作系统提供的目录服务,用于集中管理用户账户...

    Java AD域插入用户和密码修改

    本文将深入探讨如何利用Java编程语言来实现AD域用户插入和密码修改操作。这些功能对于自动化IT运维流程至关重要,特别是对于大型企业或组织来说,能显著提高效率。 首先,Java通过JNDI(Java Naming and Directory ...

    验证AD域账号登陆,获取AD域用户列表,获取用户邮箱

    验证AD域账号登陆,获取AD域用户列表,获取用户邮箱,修改密码等AD域操作

    JAVA ldap AD 域 免证书 查询 修改 删除 新增 启用 禁用 修改密码

    AD 域(Active Directory Domain)是 Microsoft 提供的一种目录服务,用于存储和管理用户、组、计算机和其他对象的信息。 在这篇文章中,我们将使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、...

    Java-AD域认证实现

    打包命令为:mvn clean package Jar包运行命令为:java -jar C:\Users\z00459km\Desktop\demo-0.0.1-SNAPSHOT.jar 亲测AD域认证通过,内容包含两种认证信息写法。

    JAVA使用Ldap操作AD域的方法示例

    总的来说,Java通过Ldap操作AD域涉及网络连接、身份验证、目录查询以及可能的SSL安全通信。理解这些概念和API的使用是实现AD域集成的关键。通过以上介绍和示例代码,你应该能够开始编写自己的AD域操作功能。记得在...

    JAVA修改AD域密码_免证书

    在本文中,我们将深入探讨如何使用Java JNDI来修改AD域密码,并重点讲解如何实现免SSL验证的方式。 首先,让我们了解JNDI。JNDI是Java平台的一个接口,它提供了一组API,允许开发者查找和绑定网络资源,如DNS记录、...

    java连接AD进行用户登陆

    ### Java 连接 Active Directory 进行用户登录验证的知识点 #### 一、概述 在企业环境中,Active Directory (AD) 是一种广泛使用的目录服务,它可以帮助管理组织内的用户、设备和其他资源。对于需要集成 AD 的 ...

    LDAP实现AD域账号验证 - Java/SpringBoot

    下面我们将深入探讨如何使用Java和SpringBoot实现基于LDAP的AD域账号验证。 首先,我们需要了解LDAP的基本结构。LDAP目录通常采用树形结构,其中包含多个条目(entries),每个条目都有唯一的DN(Distinguished ...

    java实现AD域认证

    AD域认证则是指通过AD服务对用户身份进行验证的过程。 #### 二、Java 实现 AD 认证的方法 Java 中可以通过利用标准的 LDAP (Lightweight Directory Access Protocol) 协议与 AD 服务器交互来实现 AD 认证。Java 的...

    java ad域操作

    总结起来,Java通过JNDI和相关的库提供了强大的能力来操作AD域,包括连接、查询、读写属性、用户认证、对象的创建与删除等。在实际开发中,应确保遵循最佳实践,确保代码的健壮性和安全性。理解并熟练掌握这些概念和...

    java操控AD域源码

    Java操控AD域源码主要涉及的是使用Java编程语言与Active Directory(AD)域进行交互,实现AD用户账户的管理操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Check)等功能。在企业环境中,AD域是用于...

    AD域单点登陆NTLM

    总的来说,通过Java和NTLM协议实现AD域的单点登录,能够提供安全、便捷的用户体验,同时减轻了IT部门的管理负担。在实际开发过程中,需要对AD域架构有深入理解,熟悉Java编程以及相关的身份验证机制。提供的资源,...

    JAVA对接AD域集成.rar

    Java对接AD域集成是企业级应用中常见的需求,主要用于实现用户身份验证和权限管理。AD(Active Directory)是微软提供的一种目录服务,用于管理和存储有关网络对象的信息,如用户、计算机、组等。通过Java与AD域进行...

    cas集成AD域

    AD域是微软Windows Server操作系统中的一个组件,它提供了身份验证、授权和目录服务,允许网络中的设备和用户进行身份验证,并存储和管理用户账户、计算机账户和其他资源的信息。在AD域中,每个用户都有一个唯一的...

    java使用ldap修改ad域用户密码.pdf

    Java 使用 LDAP 修改 AD 域用户密码 本文档主要介绍了如何使用 Java 通过 LDAP 协议修改 Active Directory(AD)域用户密码的详细步骤。下面将对标题、描述、标签和部分内容进行详细解释。 一、标题和描述 标题...

    JAVA对接AD域集成

    在Java开发中,"JAVA对接AD域集成"指的是将Java应用程序与Active Directory (AD) 域服务进行整合,以实现用户身份验证、权限管理等功能。以下是对代码片段中的关键知识点的详细解释: 1. **LDAP (轻量级目录访问...

    kerberos认证过程,AD域认证

    2. **A如何向B提供Secret**:验证过程中,声称是A的实体如何将其持有的秘密信息安全地传递给验证方B。 3. **B如何识别Secret**:验证方B如何确认接收到的秘密信息确实是正确的。 基于以上三点,Kerberos认证机制的...

    Springboot-LDAP针对AD域控做用户和组织进行同步.zip

    总之,通过Spring Boot 2.x和LDAP的集成,我们可以构建出高效、安全的企业级应用,实现与AD域控制器的无缝对接,从而方便地管理和同步用户及组织信息。这对于大型企业来说,是提高IT效率、保证数据安全的关键步骤。

Global site tag (gtag.js) - Google Analytics