LDAP和SSO
什么是LDAP(Lightweight Directory Access Protocol)?
很多公司会使用各种开源平台(例如: gitlab、 Jenkins. chat 等等),维护这些账号是一件繁琐麻烦的事情。
比如,一个新人入职后需要申请这些系统的账号,每隔三个月更新密码的时候,也需要一个系统、一个系统的修改密码。
因此需要一个统一的账号维护平台,一个人只需一个账号, 在公司内部平台通用。
当然我们可以自己搭建一套系统, 比如开发一个WEB应用程序,写好用户名的认证处理,用户名字和密码可以存在DB中,
创建API开放给各个系统,各个系统实现这个API接口就可以进行用户名认证了。
但是,自己开发的系统存在安全、性能等等问题。因此需要一个通用的协议, 例如LDAP。
LDAP是Lightweight Directory Access Protocol,即轻量级目录访问协议,用这个协议可以访问提供目录服务的产品。
这个目录服务以树状的形式存储信息(用户名和密码),树状结构的读取性能非常快,远远优于关系型数据库的主键查询。
#可以了解一些关系型数据 库的索引的实现原理B树/B+树。
但是树状结构的插入性能较慢,因此树状结构只适用于一些场景, 比如用户信息管理。
LDAP没有事务处理,就像在缓存中处理一样,能够存储海量数据,还可以轻松的在各个系统之间复制。
并且使用简单,搭建一个LDAP目录服务器就可以使用。
总结一下LDAP树形数据库如下:
dn : -条记录的详细位置
dc : -条记录所属区域(哪一颗树)
ou : -条记录所属组织(哪-个分支)
cn/uid: -条记录的名字/ID (哪一 个苹果名字)
LDAP目录树的最顶部就是根,也就是所谓的基准DN"。
什么是SSO?
SSO (Single Sign On)单点登录。
SSO是在多个应用系统中,用户只需要登录- -次就可以访问所有相互信任的应用系统(比如Google的mail和drives之间)。
它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。
用户在访问页面1的时候进行了登录,但是客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,
如何才能告诉Web服务器,客户刚才已经登录过了呢?
浏览器和服务器之间有约定:
通过使用cookie技术来维护应用的状态。Cookie 是可以被Web服务器设置的字符串,并且可以保存在浏览器中。
当浏览器访问了页面1时,web 服务器设置了-个cookie,并将这个cookie和页面1 -起返回给浏览器,
浏览器接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,
Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用
户的信息状态。
Web-SSO完全可以利用Cookie技术来完成用户登录信息的保存,将浏览器中的Cookie和上文中
的Ticket结合起来,完成SSO的功能。
主要区别:
SSO的定义是单次登录(或者只输入一次账号密码)就可以访问多个应用,本质上是B/S架构的,也就是说需要借助浏览器才能实现SSO功能。
LDAP并不能做到SSO,用户必须还得再次输入密码. LDAP只是提供了统一管理用户/密码的功能(即认证源),更适合于C/S架构的登陆。
LDAP和SSO的更多相关文章
- AI中台——智能聊天机器人平台的架构与应用(分享实录)
内容来源:宜信技术学院第3期技术沙龙-线上直播|AI中台——智能聊天机器人平台 主讲人:宜信科技中心AI中台团队负责人王东 导读:随着“中台”战略的提出,目前宜信中台建设在思想理念及架构设计上都已经取 ...
- 【CDN+】 Kylin 的初步认识与理解
前言 项目中用到了Kylin框架来处理数据,那么作为项目成员需要了解哪些关于Kylin的知识呢,本文就Kylin得基本概念和原理进行简述. Kylin基本概念 首先想到的学习路径是Kylin官网: h ...
- API可视化管理平台YApi
Yapi是什么 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互 ...
- 开源分布式支持超大规模数据分析型数据仓库Apache Kylin实践-上
@ 目录 概述 定义 特性 术语 技术概念 架构和组件 生态圈 部署 Docker部署 基于hadoop环境安装 前置条件 安装 使用步骤 官方样例Cube说明 示例演示 准备演示数据 创建项目 选择 ...
- SSO之CAS + LDAP
本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤. 1. 依<SSO之安装CAS Server>所述安装好CAS Server.2. 安装ApacheDS.安装好ApacheDS后 ...
- [转]使用 LDAP 组或角色限制访问,包含部分单点登录SSO说明
参考:http://www-01.ibm.com/support/knowledgecenter/api/content/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.crn ...
- [原创]django+ldap+memcache实现单点登录+统一认证
前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...
- [原创]django+ldap实现单点登录(装饰器和缓存)
前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...
- [原创]django+ldap实现统一认证部分二(python-ldap实践)
前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...
- [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...
随机推荐
- ubuntu20.04/22.04 系统环境下源码编译Python3.10
2022年10月3日更新 在Ubuntu22.04系统上源码编译python,所依赖环境的安装命令为: sudo apt install gcc g++ libffi-dev build-essent ...
- 判断数据是否是数组 返回true或false
/** * 判断数据是否是数组 返回true或false * @param {obj,array} data //obj or array */ export function isType ...
- JAVA 两个类同时实现同一个接口的方法
在Java中,两个类同时实现同一个接口是非常常见的.接口定义了一组方法,实现接口的类必须提供这些方法的具体实现.以下将展示如何实现这一要求,并提供具体的代码示例. 示例接口 首先,定义一个简单的接口, ...
- VisionOn:新一代在线制图工具,简单易用又高颜值
Vision On 一款集流程图.思维导图.白板于一体的轻量级在线图形工具 在工作和学习过程中,通过可视化的图形,有助于清晰高效地表达我们的灵感.想法.思想. 工欲善其事,必先利其器. 目前,思维导图 ...
- SMU Spring 2023 Contest Round 1(MINEYE杯第十六届华中科技大学程序设计邀请赛)
B. Contest Preparation 对n<=m和n==0时特判一下 #include <iostream> #include <cstdio> #include ...
- C语言操作时间函数time.ctime,实现定时执行某个任务小例子
时间操作函数在实际项目开发中会经常用到,最近做项目也正好用到就正好顺便整理一下. 时间概述 由上图可知: 通过系统调用函数time()可以从内核获得一个类型为time_t的1个值,该值叫calenda ...
- Linux-centos中修改默认root帐户的登录用户名
vi /etc/passwd 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x保存并退出 vi /etc/shadow 按i键进入编辑状态 修改第1行第1个 ...
- .NETCORE 下使用 NLog
NLog帮助类 1 public enum LogType 2 { 3 [Description("网站")] 4 Web, 5 [Description("数据库&qu ...
- 配置mysql数据库主从复制
数据库安装 Step1 先删除data文件 Step2 再根据ini配置文件初始化 mysqld --initialize-insecure --user=mysql Step3 安装mysql服务 ...
- apr库编译及队列使用笔记
操作系统 :CentOS 7.9_x64 apr库版本:apr-1.7.4 & apr-util-1.6.3 gcc 版本:4.8.5 队列功能在C++或Python等脚本语言里面,是很容易就 ...