将Windows2003 升级为域控制器:
在运行对话框里输入dcpromo,进入AD安装向导。一步步执行即可。
执行完后可通过管理工具在AD中添加用户。使用新建的用户登录系统时会出现问题:
1)点击管理工具,域安全策略或域控制器安全策略时,提示错误:“未能打开组策略对象 企图在不存在的网络连接上操作”
gpedit.msc是可以打开本地组策略的。
原因是服务中的Computer Browser服务没有启动。启动后解决。
2)此系统的本地策略,不允许您采用交互式登录
原因:域控制器缺省状态下不允许新创建的用户登录。
解决办法:
在 这台域控制器中的“Active Directory用户和计算机”中创建一个组,假设组名为“NC Group”,然后打开[开始]→程序→管理工具→域控制器安全策略,在出现的窗口打开“安全设置”→“本地策略”→“用户权利指派”,把“在本地登录” 的权限赋给组“NC Group”,同时把所有要在这台域控制器上登录的终端服务用户添加到组“NC Group”中。
注意:
从设置该策略到策略生效需要一段时间,如果要使策略立即生效,可重启计算机或是运行一次 gpupdate /force 的cmd命令刷新。
创建好用户后可以使用java程序访问AD进行身份认证,方法同访问LDAP相同:
public class AuthenticationTest {
public static void main(String[] args) {
String userName = "zhangsan"; // 用户名称
String password = "123456"; // 密码
String host = "192.168.131.111"; // AD服务器
String port = "389"; // 端口
String domain = "@example.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 e) {
e.printStackTrace();
System.out.println("验证失败!");
}
}
}
分享到:
相关推荐
### Java 连接 Active Directory 进行用户登录验证的知识点 #### 一、概述 在企业环境中,Active Directory (AD) 是一种广泛使用的目录服务,它可以帮助管理组织内的用户、设备和其他资源。对于需要集成 AD 的 ...
本文将详细介绍如何使用Java通过LDAP协议来验证Active Directory服务,并获取用户信息。 #### 二、基础知识 ##### LDAP - **定义**:LDAP是一种开放的标准协议,用于访问和维护分布式目录信息。 - **特点**: - ...
Java通过LDAP验证Active Directory服务是一种常见的身份验证方法,特别是在企业环境中,用于整合用户账户管理和安全性。以下是关于这个主题的详细说明: **LDAP (Lightweight Directory Access Protocol)** LDAP是...
在 Java 中,我们可以使用 LDAP 客户端库来连接到 Active Directory 域控制器,并对用户密码进行修改。下面是一个简单的示例代码: ```java public static void main(String[] args) throws UnknownHostException, ...
5、要使用 Java 修改 Active Directory 域用户密码,需要安装 Active Directory 域控制器、安装证书服务、安装 JAVA 应用程序服务器。 6、在安装证书服务的服务器中,需要导出域根证书和计算机证书,并使用 Java 的...
AD(Active Directory)域是由微软Windows Server操作系统提供的目录服务,用于集中管理用户账户、资源权限和网络策略。在Java中实现AD域用户登录验证,主要涉及到以下知识点: 1. **JNDI (Java Naming and ...
这些功能通常用于大型企业的用户管理,例如Active Directory(AD)服务。 首先,让我们理解LDAP。LDAP是一种目录服务协议,它允许快速查找分布式数据库中的信息,如用户账户、组、资源等。在Java中,我们可以使用...
总的来说,这个主题涵盖的内容包括理解Cognos的URL访问机制、权限模型,以及如何用Java实现与Cognos的第三方认证集成,特别是通过JDBC连接数据库进行身份验证。通过这些知识,你可以为你的组织构建一个安全且高效的...
在IBM Cognos中配置第三方Java认证,你需要创建一个定制的身份验证模块,这个模块将与你的企业认证服务器(如LDAP或Active Directory)交互,验证用户的凭证。 1. **配置步骤**: - **安装和配置Cognos**:确保你...
在IT行业中,尤其是在企业网络管理领域,Active Directory(AD)域是微软提供的一个关键服务,用于集中管理和控制网络中的用户账户、计算机和其他资源。本文将深入探讨如何利用Java编程语言来实现AD域用户插入和密码...
在本文中,我们将深入探讨如何使用Java连接到Microsoft Dynamics 365 CRM系统,并通过一个DEMO示例来展示具体实现过程。Java作为一款广泛使用的编程语言,具有丰富的库和工具,可以方便地与各种服务进行集成,包括...
总结起来,Java通过JNDI和相关的库提供了强大的能力来操作AD域,包括连接、查询、读写属性、用户认证、对象的创建与删除等。在实际开发中,应确保遵循最佳实践,确保代码的健壮性和安全性。理解并熟练掌握这些概念和...
在IT领域,特别是企业网络管理中,Active Directory(AD)域单点登录(Single Sign-On,简称SSO)是一项至关重要的技术。它允许用户在验证一次身份后,无需再次输入凭证即可访问多个受保护的资源。NT LAN Manager...
3. **连接到Azure AD**:在运行任何Azure AD PowerShell cmdlet之前,需要先连接到Azure AD实例,这可以通过`Connect-AzureAD`命令完成,需要提供有效的Azure AD认证凭据。 4. **脚本编写**:了解PowerShell语法,...
可以自定义认证机制,或者集成现有的身份验证服务如LDAP或Active Directory。 2. **会话管理**:当客户端连接到服务器时,服务器需要创建一个会话,并维护该会话直到客户端断开连接。会话中包含了用户的上下文信息...
这意味着该工具允许用户通过其在AD域中的凭证进行无痛的单点登录(SSO)认证。 **描述解析:** "适用于Apache Tomcat的功能齐全的一流SPNEGO / Kerberos(和当前Windows身份)身份验证器和Active Directory(和...
在IT行业中, Lightweight Directory Access Protocol (LDAP) 是一种用于存储和检索目录信息的标准协议,而Active Directory (AD) 是微软提供的目录服务,广泛应用于企业环境中进行用户身份验证和权限管理。Java和...
Java操控AD域源码主要涉及的是使用Java编程语言与Active Directory(AD)域进行交互,实现AD用户账户的管理操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Check)等功能。在企业环境中,AD域是用于...
AD 域(Active Directory Domain)是 Microsoft 提供的一种目录服务,用于存储和管理用户、组、计算机和其他对象的信息。 在这篇文章中,我们将使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、...