windows server2016搭建AD域服务器

news2024/11/19 8:52:29

在这里插入图片描述

文章目录

  • 一、背景
  • 二、搭建AD域服务器步骤
  • 三、生成可供java程序使用的keystore文件
  • 四、导出某用户的keytab文件
  • 本人其他相关文章链接

一、背景

亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。

项目背景:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。

举例说明:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。

需要安装AD+kerberos,且ldap和kerberos安装在同一台服务器上,当前版本如下:

  • windows server 2016
  • 服务器IP:10.110.25.48

我公司电脑室windows10的,我是VietualBox安装的windows server 2016,类似安装个虚拟机,然后去安装AD。

二、搭建AD域服务器步骤

1.在需要安装AD域控制器的电脑上打开服务器管理器,点击添加角色和功能
在这里插入图片描述
2.打开添加角色和功能向导,点击下一步
在这里插入图片描述
3.安装类型选择基于角色或基于功能的安装,点击下一步
在这里插入图片描述
4.服务器选择从服务器池中选择服务器,再选中池中的本地服务器,点击下一步
在这里插入图片描述
5.服务器角色选择Active Directory域服务,根据提示进行安装
在这里插入图片描述
6.运行AD DS(Active Directory域服务的简称)部署向导,打开本地服务器的服务器管理器,点击通知-将此服务器提升为域控制器
在这里插入图片描述
7.打开AD DS的部署向导,由于我们这里是部署新的AD控制器,所以部署配置选择添加新林,把根域名设置成testldap.com(自定义),点击下一步
在这里插入图片描述
8.设置域密码,点击下一步
在这里插入图片描述
9.根据提示,完成配置
10.添加Active Directory 证书服务角色
在这里插入图片描述
11.选择角色服务,根据提示进行安装
在这里插入图片描述
12.配置域证书,点击通知-配置目标服务器上的Active Directory 证书服务
在这里插入图片描述
13.勾选证书颁发机构,点击下一步
在这里插入图片描述
14.指定CA的加密,默认即可。点击下一步
在这里插入图片描述
15.指定CA名称,点击下一步
在这里插入图片描述
16.指定有效期,这里设置为5年,点击下一步
在这里插入图片描述
17.指定CA数据库的位置,默认即可.点击下一步
在这里插入图片描述
18.确认证书的配置,点击配置.点击下一步
在这里插入图片描述
19.配置完成后,重启下服务器,在证书颁发机构中可以看到给域控颁发的证书
在这里插入图片描述

三、生成可供java程序使用的keystore文件

1.导出证书,供客户端连接使用,举例命名为adserver.cer
在这里插入图片描述
2.执行以下命令,使用上一步骤导出的证书文件生成供java 程序使用的keystore文件

keytool -import -trustcacerts -alias ldapssl -file adserver.cer -keystore adserver_keystore.jks

提示输入密码时,填入指定密码:ldap@1993

四、导出某用户的keytab文件

1.在AD域服务器的服务器管理器-工具-Active Directory 用户和计算机 管理面板中新建一个测试用户testuser5
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.在AD域服务器中以管理员权限打开命令提示符程序,执行以下命令生成keytab文件

ktpass /out C:\testuser5.keytab /princ testuser5@TESTLDAP.COM /mapuser TESTLDAP\testuser5 /crypto all /ptype KRB5_NT_PRINCIPAL /pass *

参数释义:

  • /out 后参数为keytab文件的输出路径和文件名
  • /princ kerberos主体名,测试过程可约定为 账号@域名
  • /mapuser 域账号映射
  • /crypto 加密类型,可设置为all,也可按需配置

执行命令后根据提示输入账号的密码,完成keytab文件创建。

本人其他相关文章链接

1.Centos7.9安装openldap
2.Centos7.9安装kerberos
3.Openldap集成Kerberos
4.Centos7.9安装phpldapadmin
5.java连接ldap实现用户查询功能
6.java连接kerberos用户认证
7.javax.security.auth.login.LoginException: Unable to obtain password from user
8.javax.security.auth.login.LoginException: null (68)
9.javax.security.auth.login.LoginException: Message stream modified (41)
10.javax.security.auth.login.LoginException: Checksum failed
11.javax.security.auth.login.LoginException: No CallbackHandler available to garner authentication info
12.javax.security.auth.login.LoginException: Cannot locate KDC
13.javax.security.auth.login.LoginException: Receive timed out
14.java: 无法访问org.springframework.context.ConfigurableApplicationContext
15.LDAP: error code 34 - invalid DN
16.LDAP: error code 32 - No Such Object
17.java: 无法访问org.springframework.ldap.core.LdapTemplate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1896468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【在大模型RAG系统中应用知识图谱】

【引子】 关于大模型及其应用方面的文章层出不穷,聚焦于自己面对的问题,有针对性的阅读会有很多的启发,本文源自Whyhow.ai 上的一些文字和示例。对于在大模型应用过程中如何使用知识图谱比较有参考价值,特汇总分享给大家。 在基于…

命令行运行git reflog(reference log)报错的解决办法

文章目录 1. 检查 Git 是否已安装2. 检查 PATH 环境变量3. 重新安装 Git 在Git中, reflog的英文全称是 “ reference log”。意思是 引用日志(参考日志)。它记录了本地仓库中HEAD和分支引用所指向的提交的变更历史。这包括了你所有的提交&…

推荐算法学习笔记2.1:基于深度学习的推荐算法-基于共线矩阵的深度推荐算法-AutoRec模型

AutoRec模型 前置知识:推荐算法学习笔记1.1:传统推荐算法-协同过滤算法 AutoRec模型通过引入自编码器结构,将共线矩阵中的用户向量(基于用户的U-AutoRec)或物品向量(基于物品的I-AutoRec)嵌入到低维空间后还…

Java的数据类型(复习版)

思维导图 一.字面常量 什么是常量?在我的理解看来常量就是在一个程序运行期间,保持不变的量就是常量。 例如: System.out.println(100);System.out.println(a);System.out.println(3.114);这些都可以称为常量。 字面常量的分类:…

喜报 | 怿星携高性价比国产方案亮相IAEIS峰会并荣获“优秀创新产品奖”

近日,由深圳市汽车电子行业协会主办的主题为:“布局全球产业链,促进智能网联汽车产业高质量发展”IAEIS 2024第十三届国际汽车电子产业峰会”暨“2023年度汽车电子科学技术奖”颁奖典礼在深圳隆重举行。 怿星科技携高性价比的「车载网络通信 …

知识库系统平台管理与优化

在之前做的关于FAQ知识库问答系统中,总结了相关踩坑内容,梳理如下,供大家参考。系统平台的管理与优化对于企业来说至关重要,它不仅关乎数据处理的效率,还直接影响到用户体验和业务成果。本文将从系统平台管理方式、系统…

【pytorch16】MLP反向传播

链式法则回顾 多输出感知机的推导公式回顾 只与w相关的输出节点和输入节点有关 多层多输入感知机 扩展为多层感知机的话,意味着还有一些层(理解为隐藏层σ函数),暂且设置为 x j x_{j} xj​层 对于 x j x_{j} xj​层如果把前面的…

【CT】LeetCode手撕—4. 寻找两个正序数组的中位数

目录 题目1- 思路2- 实现⭐4. 寻找两个正序数组的中位数——题解思路 3- ACM 实现 题目 原题连接:4. 寻找两个正序数组的中位数 1- 思路 思路 将寻找中位数 ——> 寻找两个合并数组的第 K 大 (K代表中位数) 实现 ① 遍历两个数组 &am…

天润融通分析AI技术助力客户服务,实现满意度三倍增长

如今,客户体验越来越成为影响客户决策的核心要素。 对于企业来讲,客户在不同触点的每一次互动体验,都成为塑造品牌声誉的“Aha时刻”。但同时,随着社会的发展的加速,客户的需求也在日新月异,给企业带来挑战…

【Linux】静态库的制作和使用详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

超融合服务器挂载硬盘--linux系统

项目中需要增加服务器的硬盘容量,通过超融合挂载了硬盘后,还需要添加到指定的路径下,这里记录一下操作步骤。 一:通过管理界面挂载硬盘 这一步都是界面操作,登录超融合控制云台后,找到对应的服务器&#…

python自动化办公之BeautifulSoup爬取并解析html文本

用到的库:BeautifulSoup 实现效果:爬取网站内容,拿到html文本并解析html文本 代码: 先爬取 # 先导入requests包 import requests urlhttps://www.baidu.com responserequests.get(url) # 做1个断言,如果执行成功&a…

视频号矩阵源码:构建短视频生态的基石

在数字化时代,视频内容已成为连接品牌与消费者的重要桥梁。视频号矩阵源码,作为短视频营销自动化的创新引擎,正在帮助内容创作者和营销团队以前所未有的效率和智能,管理和扩展他们的视频内容。本文将深入探讨视频号矩阵源码的核心…

解答 | http和https的区别,谁更好用

TTP(超文本传输协议)和HTTPS(安全超文本传输协议)的主要区别在于安全性和数据传输的方式。 一、区别 1、协议安全性: HTTP:使用明文形式传输数据,不提供数据加密功能,数据在传输过…

LeetCode-刷题记录-滑动窗口合集(本篇blog会持续更新哦~)

一、滑动窗口概述 滑动窗口(Sliding Window)是一种用于解决数组(或字符串)中子数组(或子串)问题的有效算法。 Sliding Window核心思想: 滑动窗口技术的基本思想是维护一个窗口(一般…

汇川H5U小型PLC不用写程序测试EC总线电机

目录 新建工程添加EtherCAT组态添加运动控制轴仿真测试 新建工程 新建一个H5U工程,不使用临时工程 系列选择H5U即可 添加EtherCAT组态 这里在EC总线中添加了一个汇川660的伺服 驱动参数使用默认 添加运动控制轴 新建一个轴Axis_0 将新建的轴和EC组态的660驱动…

springboot中国女篮资讯平台-计算机毕业设计源码12641

目录 1 绪论 1.1 研究背景 1.2 研究现状 1.3论文结构与章节安排 2平台分析 2.1 系统可行性分析 2.1.1硬件可行性分析 2.1.2软件可行性分析 2.1.3经济可行性 2.1.4 操作可行性 2.2系统功能分析 2.3 系统用例分析 2.4本章小结 3平台总体设计 3.1 系统架构设计 3.2…

录屏怎么有声音?录屏声音,2个小技巧

在数字化浪潮中,录屏早已不再是简单的屏幕录制,而是成为了内容创作、教学分享、游戏直播等领域的重要工具。然而,很多人在录屏时常常面临一个问题:录制好的视频没有声音。面对这个难题,录屏怎么有声音?怎样…

Oracle 解决4031错误

一、问题描述 什么是4031错误和4031错误产生的原因: 简单一个句话概括: 由于服务器一直在执行大量的硬解析,导致Oracle 的shared pool Free空间碎片过多,大的chunk不足, 当又一条复杂的sql语句要硬解析时, 缺少1个足够大的Free chunk, 通常就会报4031错误. 二、解决方法 临…

智能合约与企业数字化转型:案例分析与未来展望

随着区块链技术的快速发展,智能合约作为其重要应用之一,正逐渐成为推动企业数字化转型的关键工具。智能合约不仅可以自动执行和验证合同,还能够增强数据安全性、优化业务流程,并提升企业间的信任和透明度。本文将深入探讨智能合约…