文档章节

1.请求安全-- 一个简单的 单设备登录 单点登录

喵了_个咪
 喵了_个咪
发布于 2015/08/14 11:30
字数 1012
阅读 547
收藏 3

##一个简单的 SSO 单点登录 单设备登录 解决方案 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。

实现SSO的技术主要有: (1)基于cookies实现; (2) Broker-based(基于经纪人),例如Kerberos等; (3) Agent-based(基于代理人)在这种解决方案中例如SSH等; (4) Token-based,例如SecurID,WebID,现在被广泛使用的口令认证; (5) 基于网关Agent and Broker-based; (6) 基于安全断言标记语言(SAML)实现; ####但是本文今天不会用到以上方法,但是我们使用方法类似于Token; 写本次文章的起初是为了解决链接捕获访问服务器的问题,但是单凭单点登录和单设备登录是解决不了这个问题的,要配合上(加密,MD5校验,请求唯一性验证,单点登录,单设备登录)来组成一个比较完善的安全验证机制.(后面文章会一一说道) 下面开始说正题,对于API来说一般需要单点登录的系统都需要进行登录的操作,那登录操作我们会做下面几件事情.

1.获取用户名密码进行登录验证用户是否有效作判断. 2.拿着返回的ID给前端让他可以进行进一步操作.

当然可以直接用ID 直接实现单点登录 但是无法实现单设备登录而且直接暴露安全性担忧

基本登录接口做的操作就是以上两种,那么关键点来了,我在思考分析的时候在想如果每次调用登录获取的ID都是一个临时ID. 当下次登录的时候失效是不是就可以达到单设备登录的效果了,这个临时ID对应着真正的用户ID每次客户端请求都是拿着临时ID请求过来然后我们做验证,不就行了嘛.而且这个临时ID是后端共享的只有一个登录接口或获取临时ID其他所有模块都能使用来达到单点登录. 这样就解决了单设备登录和单点登录的问题.

###当然如何实现是最后一个问题 既然是临时ID而且每个接口都会去读取验证,那当然不能用数据库,最好我选择了用NOsql中的Redis来作为临时ID的临时存储

###登录接口需要做的事情如下: 1.第一步从Redis中用Id取临时ID 检测有没有 2.生成Cipher(临时密码也就是临时ID) 3.根据第一步检测做不同的处理 如果存在删除原有的 Cipher关联ID 的key-value 4.创建两个key-value 一个是id对应Cipher 一个是Cipher对于Id

###验证验证需要做的事情 1.通过客户端请求的Cipher获取Redis的value值 2.value如果不存在返回错误 登录已经失效 3.value存在返回value作为ID 进行操作

通过以上方法就解决的 标题所述的 单点登录 单设备登录的问题 :fa-glass:

© 著作权归作者所有

共有 人打赏支持
喵了_个咪
粉丝 245
博文 139
码字总数 182606
作品 4
杨浦
技术主管
加载中

评论(2)

喵了_个咪
喵了_个咪

引用来自“小洋哥”的评论

疑问:
单设备登录,是指什么?
单设备登录 就是像QQ一样 当你在一台电脑上面登录有你的QQ时 在另外一台设备登录 前面你登录的QQ就会被挤下线 一个道理
小洋哥
小洋哥
疑问:
单设备登录,是指什么?
4.请求安全-- 结合使用的安全优势总结

写到这里基本上笔者在请求中遇到的问题,以及运用到实践中的解决方案,基本上分为,请求唯一性,单设备登录,单点登录,MD5校验这几种校验的小技巧,在之前都对着几种校验方式进行也一些独立的说明(...

喵了_个咪
2015/09/09
102
0
单点登录原理与简单实现

一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过...

余平的余_余平的平
2017/11/03
0
0
单点登录原理与简单实现

一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过...

skymyyang
2016/12/19
23
0
企业环境中的账户与身份管理 之:2-非SSO也

上一篇的《企业环境中的账户与身份管理 之:1-认识》中讲到了什么是身份,什么是身份信息,身份信息有哪些,进行身份信息的统一管理,是要解决什么样的根本问题 。。 如我所猜想的那样,在回...

bisheng.hu
2011/03/01
0
0
浅谈 RESTful Api 对APP身份校验的一些思考

写这篇文章的初衷来源于最近心血来潮想独立开发一款自己的产品,由于本人一直从事Android开发,但产品又需要数据的支持,迫于无奈又捡起了我那半桶水的服务端开发,在做架构设计的时候遇到了...

李晨玮
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg调试C源码级驱动

联机方式不多说了。我博客里有,英文的。 windbg联机文档 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel......

simpower
41分钟前
0
0
redis快照和AOF简介

数据持久化到硬盘:一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 核心原理:redis某个时间内存内的所有数据写入硬盘 场景:redis快照内存里面的数据 1. 用户发送bgsav...

拐美人
41分钟前
0
0
这个七夕,送你一份程序员教科书级别的告白指南

给广大爱码士们的高能预警: 今天,就是七夕了…… (单身非作战人群请速速退场!) 时常有技术GG向个推君抱怨 经过网民多年的教育 以及技术人持之以恒的自黑 冲锋衣狂热分子·格子衫骨灰级粉...

个推
46分钟前
0
0
python爬虫日志(15)cookie详解

转载:原文地址 早期Web开发面临的最大问题之一是如何管理状态。服务器端没有办法知道两个请求是否来自于同一个浏览器。那时的办法是在请求的页面中插入一个token,并且在下一次请求中将这个...

茫羽行
47分钟前
0
0
qlv视频格式转换器

  腾讯视频中的视频影视资源有很多,小编经常在里面下载视频观看,应该也有很多朋友和小编一样吧,最近热播的电视剧也不少,如《香蜜沉沉烬如霜》、《夜天子》还有已经完结的《扶摇》,这么...

萤火的萤火
50分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部