什么是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的更多相关文章

  1. AI中台——智能聊天机器人平台的架构与应用(分享实录)

    内容来源:宜信技术学院第3期技术沙龙-线上直播|AI中台——智能聊天机器人平台 主讲人:宜信科技中心AI中台团队负责人王东 导读:随着“中台”战略的提出,目前宜信中台建设在思想理念及架构设计上都已经取 ...

  2. 【CDN+】 Kylin 的初步认识与理解

    前言 项目中用到了Kylin框架来处理数据,那么作为项目成员需要了解哪些关于Kylin的知识呢,本文就Kylin得基本概念和原理进行简述. Kylin基本概念 首先想到的学习路径是Kylin官网: h ...

  3. API可视化管理平台YApi

    Yapi是什么 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互 ...

  4. 开源分布式支持超大规模数据分析型数据仓库Apache Kylin实践-上

    @ 目录 概述 定义 特性 术语 技术概念 架构和组件 生态圈 部署 Docker部署 基于hadoop环境安装 前置条件 安装 使用步骤 官方样例Cube说明 示例演示 准备演示数据 创建项目 选择 ...

  5. SSO之CAS + LDAP

    本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤. 1. 依<SSO之安装CAS Server>所述安装好CAS Server.2. 安装ApacheDS.安装好ApacheDS后 ...

  6. [转]使用 LDAP 组或角色限制访问,包含部分单点登录SSO说明

    参考:http://www-01.ibm.com/support/knowledgecenter/api/content/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.crn ...

  7. [原创]django+ldap+memcache实现单点登录+统一认证

    前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...

  8. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  9. [原创]django+ldap实现统一认证部分二(python-ldap实践)

    前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...

  10. [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...

随机推荐

  1. docker 容器(container)使用ssh服务登录一段时间无操作后自动断开问题解决

    如题,ssh登录建立好的docker容器,无操作一段时间后,发现ssh自动断开: 解决方法: 修改配置文件 /ect/ssh/sshd_config 在文件最后添加下面内容: PermitRootLo ...

  2. Python示例——负数的位运算

    平时在coding的时候虽然会遇到位运算但一般也都是正数的位运算,今天突然见到了使用负数的位运算,对此十分好奇和困惑,为此做了下了解,于是有了此文. 给出一些位运算的例子: 其中,正数的位运算是最为常 ...

  3. SSH如何通过proxy进行服务器连接

    openssh是什么这里不做解释,但凡是用过linux系统的一般都是会了解这个的,毕竟openssh都是系统自带的应用. openssh一般都是指linux上的客户端,很多linux系统自有客户端的s ...

  4. 洛谷P1226 【模板】快速幂

    1.快速幂模板 前置知识 一个数字n,它的二进制位数一定是log2n向下取整+1: 快速幂模板代码 这段代码实现了快速幂算法(Exponentiation by squaring),用来计算 ( an ...

  5. Apache DolphinScheduler数仓任务管理规范

    前言: 大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择Apache DolphinScheduler(以下简称DS)作为调度场景的技术选型.得益于DS优秀的 ...

  6. 解决Perforce lua文件utf-8 with bom

    设置typemap,将lua文件定义为unicode

  7. canfestival源码下载教程

    先进入官网的这个页面 https://canfestival.org/code.html.en 点击箭头所指的地方 选择日期最新的点击下载

  8. 为 OpenWrt 路由器编译 minieap-sysu 项目

    学校的校园网要使用锐捷认证,于是想把认证客户端装到刷了 OpenWrt 的路由器上面.然而认证客户端 Linux 版只支持 x86 架构,我的路由器处理器却是 AArch64 架构,装不了,所以只能想 ...

  9. IVIEW 评分组件 Rate 介绍

    1. 首先,评分允许评半颗星,使用 allow-half <template> <Rate allow-half v-model="valueHalf" /> ...

  10. Spring:基于注解管理bean

    标记与扫描 注解 和 XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测 到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作. 本质上:所有一切 ...