首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

ToB项目身份认证AD集成(一):基于目录的用户管理、LDAP和Active Directory简述

  • 25-04-24 20:01
  • 4531
  • 8845
blog.csdn.net

 在ToB的项目里,公司部门之间是树状的关系,成员结构也类似。由于windows的使用范围很广,尤其是在企业里,所以它集成的Active Directory域服务往往企业应用需要兼容的。

什么是基于目录的用户管理?

基于目录的用户管理是一种集中化的用户身份管理方式。它将组织中的所有用户信息(如用户名、密码、所属组、权限等)存储在一个统一的数据库中,即目录。通过访问这个目录,管理员可以对用户进行添加、删除、修改等操作,并对用户访问资源的权限进行统一管理。

LDAP是什么?

LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议。它定义了客户端如何访问和修改目录中信息的标准。LDAP目录就像一个电话簿,存储着各种对象的属性(如用户、计算机、组织单位等)。LDAP协议提供了对这些对象的查询、添加、修改和删除等操作。

Active Directory是什么?

Active Directory是微软开发的一种目录服务,它实现了LDAP协议。Active Directory通常被用于Windows网络环境中,为域中的计算机、用户和组提供集中化的管理。它不仅存储用户信息,还提供了诸如组策略、Kerberos认证等高级功能。

LDAP和Active Directory的关系

LDAP是一种协议,而Active Directory是实现了LDAP协议的一种目录服务。也就是说,Active Directory是LDAP的一个具体实现。你可以把LDAP看作是一种语言,而Active Directory看作是用这种语言写的一本书。

另外AD通过DS服务对外暴露了相关的操作,包括对象查询、认证和修改等,下面我贴一个某场景下较为完整的成员对象数据结构:

  1. type LdapAccount = {
  2. objectClass: string;
  3. cn: string;
  4. distinguishedName: string;
  5. instanceType: string;
  6. whenCreated: string;
  7. whenChanged: string;
  8. displayName: string;
  9. uSNCreated: string;
  10. uSNChanged: string;
  11. name: string;
  12. objectGUID: string;
  13. userAccountControl: string;
  14. badPwdCount: string;
  15. codePage: string;
  16. countryCode: string;
  17. badPasswordTime: string;
  18. lastLogoff: string;
  19. lastLogon: string;
  20. pwdLastSet: string;
  21. primaryGroupID: string;
  22. objectSid: string;
  23. accountExpires: string;
  24. logonCount: string;
  25. sAMAccountName: string;
  26. sAMAccountType: string;
  27. userPrincipalName: string;
  28. objectCategory: string;
  29. dSCorePropagationData: string;
  30. lastLogonTimestamp: string;
  31. };

可以看到它的字段是非常多的,可能很多字段某个项目不会用到,但这些字段的设计往往是日积月累的经验积累,我们在设计自己的身份认证或者账号体系的时候可以作为参考 

LDAP和Active Directory的对比

特点LDAPActive Directory
实现协议目录服务
平台多平台主要用于Windows
功能基本的目录操作丰富的管理功能
应用场景广泛应用于各种系统主要用于Windows网络环境

账号密码身份认证时序图

 利用ldap协议接口,与AD域通讯实现认证的简单过程如下:

 

说明:

  • 客户端: 用户。
  • 认证服务器: Nodejs后端。
  • Directory Server: 目录服务器(如Active Directory)。
  1. 用户在认证界面输入用户名和密码。
  2. 认证服务器将用户的凭证发送给目录服务器进行验证。
  3. 目录服务器查询用户的信息,并返回验证结果给认证服务器。
  4. 认证服务器根据目录服务器返回的结果,告知用户认证成功或失败。

总结

基于目录的用户管理为组织提供了统一、高效的用户管理方式。LDAP作为一种标准协议,为目录服务提供了基础。Active Directory作为LDAP的具体实现,在Windows环境中得到了广泛应用。通过了解这些概念,我们可以更好地理解现代网络环境中的用户身份管理机制。

后续会出一系列的文,来详细说明相关的配置,以及具体操作的实现,写完后再补充整体的目录(现在还在实践的过程中!)

注:本文转载自blog.csdn.net的余生H的文章"https://blog.csdn.net/m0_38015699/article/details/142449861"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top