什么是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. Linux系统——删除用户命令

      背景: 负责管理实验室的服务器,近期有保研的大三同学放弃保送到实验室而选择其他实验室,因此需要把之前给他开的账号取消掉. ===================================== ...

  2. 强化学习:一种新的并行算法下的参数同步更新方式——半异步更新方式——( 同步、异步 -> 半异步 )

    Abstract: 并行算法下的参数同步方式一般有同步更新和异步更新两种方式,本文在此基础之上提出了一种新的参数同步方式--半异步更新方式. Introduction: 这里用神经网络举例子,也就是神 ...

  3. Mybatis-Plus系统化学习之环境准备与简单使用

    1.背景 平时在开发中会经常用到单表的CRUD操作 其实,这些单表的CRUD,完全不需要我们写sql,可以使用mybatis-plus自动生成,不但高效而且不容用出错! 2.mybatis-plus的 ...

  4. Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!

    DolphinScheduler是一个开源的分布式任务调度系统,拥有分布式架构.多任务类型.可视化操作.分布式调度和高可用等特性,适用于大规模分布式任务调度的场景.目前DolphinScheduler ...

  5. 从论文到图谱,或许只差一个html

    书接上回,在文章<论文图谱当如是:Awesome-Graphs用200篇图系统论文打个样>中,我向大家讲述了如何用图的方式思考图计算系统的演进历史,并在后续的系列文中结合Awesome-G ...

  6. Cookie、localStorage 和 sessionStorage 的区别及应用实例

    在前端开发中,持久化数据存储是一个非常常见的需求.为了实现这一点,浏览器提供了多种方式,包括 Cookie.localStorage 和 sessionStorage.这三者各有优劣,适用于不同的场景 ...

  7. Lambert cos 定律再积分无穷级数求和

    设有能量为 \(I\) 的一束光射向表面 \(s\),发生理想的漫反射.设反射率为 \(a\),则 \(s\) 向在 \(\phi\) 方向反射的能量 \(R\) 可由 Lambert cos 定律给 ...

  8. 基于surging的产品项目-木舟开源了!

    一 . 概述 因为前段时间电脑坏了,导致代码遗失,踌躇满志马上上线的平台产品付之东流,现在熬夜在写代码希望能尽快推出企业正常使用的平台产品,而这次把代码开源,一是让大家对surging 使用有个深入的 ...

  9. 一加8t救砖教程

    关机 按住音量上下和电源键 重启到fastboot 取到原系统boot ./fastboot flash boot_a boot.img ./fastboot flash boot_b boot.im ...

  10. Ubuntu 修改密码

    强制修改密码 可以通过切换到 root 帐户强制修改密码来绕过密码长度限制: sudo su # 切换到 root 帐户 passwd USER # 修改密码 或者: sudo passwd $(wh ...