什么是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. openAI的仿真环境Gym Retro的Python API接口

    如题,本文主要介绍仿真环境Gym Retro的Python API接口 . 官网地址: https://retro.readthedocs.io/en/latest/python.html ===== ...

  2. /usr/bin/ld cannot find -lGL

    安装mujoco报错: /usr/bin/ld cannot find -lGL 解决方法: sudo apt install libgl1-mesa-dev

  3. LVGL btn组件

    /************************************************* * * file name:widget_line.c * author :momolyl@126 ...

  4. 代码随想录Day12

    二叉树遍历 分为前序.中序.后续.层序四种 其中前中后序属于深度优先搜索,层序属于广度优先搜索 前序遍历顺序: 根节点->左子树->右子树 中序遍历顺序: 左子树->根节点-> ...

  5. 远程采集服务器指标信息(二)通过telnet执行远程命令

    远程采集服务器信息,比如说磁盘信息.内存信息. 现介绍java通过telnet执行命令采集服务器信息,比如说执行df.ls.top. 这里在linux环境通过root或者其他用户登录执行解析方式有点出 ...

  6. 瑞芯微 | I2S-音频基础 -1

    最近调试音频驱动,顺便整理学习了一下i2s.alsa相关知识,整理成了几篇文章,后续会陆续更新. 喜欢嵌入式.Li怒晓得老铁可以关注一口君账号. 1. 音频常用术语 名称 含义 ADC(Analog ...

  7. .NET+WPF 桌面快速启动工具 GeekDesk

    前言 大家在平时工作中,是不是经常为了找某个文件或者应用而在电脑桌面上来回翻找?桌面图标乱七八糟,每次找东西都像在大海捞针一样. 今天给大家介绍一个开源项目 GeekDesk,它能够让桌面焕然一新,工 ...

  8. Polly服务熔断

    //自定义异常 public class MyException : Exception { public MyException(string? message) : base(message) { ...

  9. ubuntu16.04/CentOS 7自动以root身份登录桌面

    ubuntu16.04 1.首先设置root用户密码: # sudo passwd root 输入普通用户密码,再输入root用户密码: 2.启用登录时的root选项: # 编辑50-ubuntu.c ...

  10. equals与hashCode关系梳理

    目录 equals用法 hashCode用法 总结 为什么一个类中需要两个比较方法 为什么重写 equals 方法时必须同时重写 hashCode 方法? Reference 这个并不是一个通用性编程 ...