什么是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. mindspore.ops.Pow()等算子不能处理float64类型的数据

    原文地址: https://gitee.com/mindspore/mindspore/issues/I3ZG99 Software Environment: -- MindSpore r1.2 GP ...

  2. H5页面\PC端实现QQ客服功能

    1.背景 很多应用都有在线客服,最简单是实现就是利用人们常用的QQ 2.实现 步骤一:授权QQ通讯组件(普通QQ都是可以的) 授权链接:https://shang.qq.com/v3/widget.h ...

  3. 想不到WhaleStudio和Talend的差异竟如此之大!

    最近我们遇到很多客户需求是把Talend迁移到WhaleStudio,主要是发现WhaleStudio支持的数据源多很多,从各个版本的SAP到AWS Redshift,S3,从MangoDB CDC到 ...

  4. vue前端自适应布局,一步到位所有自适应

    vue前端自适应布局,一步到位所有自适应 页面展示 实现内容 1,左右布局 左侧固定宽带,右侧自适应剩余的宽度. 中间一条分割线,可以拖拉,自适应调整左右侧的宽度. 左侧的高度超长自动出现横向滚动条, ...

  5. 神经网络之卷积篇:详解三维卷积(Convolutions over volumes)

    详解三维卷积 从一个例子开始,假如说不仅想检测灰度图像的特征,也想检测RGB彩色图像的特征.彩色图像如果是6×6×3,这里的3指的是三个颜色通道,可以把它想象成三个6×6图像的堆叠.为了检测图像的边缘 ...

  6. 2.3 Exception model

    2.3.1 异常状态 2.3.1 异常类型

  7. 如何用C语言操作sqlite3,一文搞懂

    sqlite3编程接口非常多,对于初学者来说,我们暂时只需要掌握常用的几个函数,其他函数自然就知道如何使用了. 数据库 本篇假设数据库为my.db,有数据表student. no name score ...

  8. Java微信授权登录小程序接口

    1.微信授权登录小程序的流程是什么 微信授权登录小程序的流程是一个涉及前端和后端交互的过程,主要目的是让用户能够使用微信账号快速登录小程序,避免重复输入用户名和密码.以下是该流程的详细步骤: 1.1前 ...

  9. 《黑神话:悟空》神话再现,虚幻引擎与Unity/C#谁更强?

    前言 在国产游戏领域,<黑神话:悟空>无疑是一颗耀眼的明星,以独特的艺术风格.深厚的文化底蕴以及卓越的技术表现,赢得了国内外玩家的广泛关注.然而,在这款游戏光鲜亮丽的背后,是我们开发者对技 ...

  10. 用GDI+旋转多边形来绘制一个时钟摸拟小程序

    效果图 在头文件类中声明变量 TCHAR m_dayStr[4]; // 日期 TCHAR m_weekStr[4]; // 星期 Gdiplus::Font* m_pFont; // 字体 Gdip ...