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<String, String> env = new Hashtable<String, String>();
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("验证失败!");
}
}
}
以上代码验证通过。
分享到:
相关推荐
### Java 连接 Active Directory 进行用户登录验证的知识点 #### 一、概述 在企业环境中,Active Directory (AD) 是一种广泛使用的目录服务,它可以帮助管理组织内的用户、设备和其他资源。对于需要集成 AD 的 ...
10. **测试与部署**: 完成AD验证功能后,需要在测试环境中进行充分的测试,确保在不同环境和条件下都能正常工作。在生产环境中部署时,应确保所有配置信息的安全存储和传递。 以上就是关于Java验证AD域用户登录涉及...
在IT行业中, Lightweight Directory Access Protocol (LDAP) 是一种用于存储和检索目录信息的标准协议,而Active Directory (AD) 是微软提供的目录服务,广泛应用于企业环境中进行用户身份验证和权限管理。Java和...
在IT行业中,尤其是在企业网络管理领域,Active Directory(AD)域是微软提供的一个关键服务,用于集中管理和控制网络中的用户账户、计算机和其他资源。本文将深入探讨如何利用Java编程语言来实现AD域用户插入和密码...
Java开发人员经常使用Java Naming and Directory Interface (JNDI)来与AD进行交互。在本文中,我们将深入探讨如何使用Java JNDI来修改AD域密码,并重点讲解如何实现免SSL验证的方式。 首先,让我们了解JNDI。JNDI是...
3. **用户验证**:将用户输入的凭证与AD服务器进行验证,通过NTLM协议进行身份确认。 4. **SSO实现**:验证成功后,用户可以无感知地访问其他系统,因为已经通过AD域认证。 DEMO包通常包含一个示例程序,展示了如何...
本文将深入探讨如何使用Java进行LDAP与AD的连接,并通过提供的源代码示例进行解析。 首先,让我们了解LDAP与AD的基本概念。LDAP是一种应用层协议,它使用TCP/IP来查找和检索分布式目录服务中的信息。这些信息可以...
通过Java与AD域进行集成,开发者可以构建安全、高效的企业级应用程序,确保只有经过验证的用户才能访问特定资源。 首先,了解基本概念: 1. LDAP(Lightweight Directory Access Protocol):是一种轻量级目录访问...
JNDI(Java Naming and Directory Interface)则是Java平台上的一个标准接口,允许Java应用程序访问各种命名和目录服务,如LDAP(轻量级目录访问协议),而AD通常通过LDAP接口进行操作。 在这个主题中,"免证书"指...
后端服务器通常使用支持LDAP的库,如Python的ldap3或Java的UnboundID LDAP SDK,来连接到AD服务器并执行身份验证。服务器会验证提交的用户名和域名是否存在于AD目录中,以及对应的密码是否正确(尽管密码通常不通过...
5. **时序图**:"sso.png" 文件很可能是描述SSO流程的时序图,它会展示从用户请求开始,通过AD验证,再到IIS和J2EE应用之间交互的详细步骤。时序图会包括各个参与者(如用户、浏览器、IIS、AD服务器、J2EE应用)以及...
AD域是微软Windows Server操作系统中的一个组件,它提供了身份验证、授权和目录服务,允许网络中的设备和用户进行身份验证,并存储和管理用户账户、计算机账户和其他资源的信息。在AD域中,每个用户都有一个唯一的...
“Java访问AD.txt”可能是一个详细的指南,介绍如何使用Java代码与AD进行交互,包括创建连接、执行搜索、修改用户属性等。 **密码认证** “Using LDAP for Password Authentication.txt”可能讨论了如何使用LDAP...
在这里,Tomcat可能被用作处理HTTP请求,并调用Java代码来执行AD验证逻辑。 6. **Domino LDAP(Lightweight Directory Access Protocol)**: LDAP是一种协议,用于访问和操作目录服务,如AD。Domino服务器可以...
在IT领域,特别是企业网络管理中,Active Directory(AD)是一种广泛使用的目录服务,由微软开发,用于管理和组织网络资源。AD域则是AD服务的核心组成部分,它提供了集中式的身份验证和授权机制。在这个"修改AD域...
此示例演示了如何从 Java 应用程序和调用一些 API 对 Office 365 用户进行身份验证。 此示例使用获取验证令牌,然后使用它们调用特定的 API。 详细地说,该示例执行以下操作: 创建访问和刷新令牌以调用 Azure AD ...
6. 单点登录(Single Sign-On, SSO):"JAVA代码操作MS AD实现单点登录.txt"可能包含实现SSO的Java代码示例,SSO允许用户只需一次登录即可访问多个应用,简化了用户认证流程。 7. 用户账户控制(UserAccountControl...