分布式系统框架Spring+Redis+SSO视频课程
1、视频讲解的参看博客

这应该是第一个简单的分布式系统soa入门的基础,视频中对sao面向服务编程讲解的很透彻,第redis缓存讲解的也比较清楚,讲解了sso单点登录使用token的方式,还有cas实现单点登录的方式,详细讲解了spring整合redis框架等相当的经典
不清楚的好好把视频仔细学习。
视频资料下载地址
链接:https://pan.baidu.com/s/1_4X_4Suvhq6wSfRVy6zsiQ 密码:dfod
登录的业务逻辑
{
http:是短连接.
服务器如何判断当前用户是否登录?
// 1. 如果是即时通信类:长连接.
// 如何保证服务器跟客户端保持长连接状态?
// "心跳包" 用来检测用户是否在线!用来做长连接!
http:短连接使用token 机制来验证用户安全性
// token 值: 登录令牌! 用来判断当前用户的登录状态!
// token 值特点: 是一个字符串/大整数,只需要保证唯一性.是服务器根据用户的信息(账号/密码/身份认证机制(电话号/身份证号/支付宝账号/银行卡信息)...)来生成的用于标识用户身份的值!
// token 值获取:
// 当用户首次登录成功之后, 服务器端就会生成一个 token 值.
1.会在服务器保存token值(保存在数据库中)
2.将这个token值返回给客户端.
// 客户端拿到 token 值之后,一般保存在两个位置 :
1. 将 token 保存在 cookie 中;
2.将 token 保存在沙盒中,作为一个公共参数传递.
// 公共参数: 每一个网络请求都需要的参数! 一般公共参数有很多都是"可选"参数!,公共参数附带的越多,越利于后台监测用户,数据挖掘会使用到监测到的数据.
// 以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.
// 服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值做对比!
// 如果两个 token 值相同 :说明用户登录成功过!当前用户处于登录状态!
// 如果没有这个 token 值, 没有登录成功.
// 如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录.
// token 值失效问题: 1. token 值有失效时间!
{
token的有效时间:
{
1. 如果 app 是新闻类/游戏类/聊天类等需要长时间用户粘性的. 一般可以设置1年的有效时间!
2. 如果 app 是 支付类/银行类的. 一般token只得有效时间比较短: 15分钟左右!
}
}
// token 值失效问题: 2. token 值用来做设备唯一性登录判断!
{
每次登录之后,无论用户密码是否改变,只要调用登录接口并且登录成功,都会在服务器生成新的token值,原来的token值就会失效!
典型的 app : 打车软件类
}
拓展: 多态设备同时登录. 设备唯一性登录!
{
如果允许多台设备同时登录 ,并且可以设置最大的登录数量的时候。比如说QQ:允许在电脑客户端登录,QQ手机端登录, QQ网页端登录
如果超出这三个端 想要再另外 一个相同的端登录,需要使对应的端的token失效,来保证一个端 一个账号只登录一次。
可以设置多个token 根据登录端不同 ,来检测token 是否过期。 根据登录的数量 可以判断最大支持多少个设备同时登录
}
}
分布式系统框架Spring+Redis+SSO视频课程的更多相关文章
- Spring Boot 实战与原理分析视频课程
Spring Boot 实战与原理分析视频课程 链接:https://pan.baidu.com/share/init?surl=PeykcoeqZtd1d9lN9V_F-A 提取码: 关注公众号[G ...
- Spring Boot 学习视频
1. Spring Boot 项目实战 ----- 技术栈博客企业前后端 链接:https://pan.baidu.com/s/1hueViq4 密码:4ma8 2.Spring Boot 项目实 ...
- IT视频课程集
马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培 ...
- IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培 ...
- 传智 Python基础班+就业班+课件 【最新完整无加密视频课程】
点击了解更多Python课程>>> 传智 Python基础班+就业班+课件 [最新完整无加密视频课程] 直接课程目录 python基础 linux操作系统基础) 1-Linux以及命 ...
- DDD建模案例----“视频课程”场景
接触领域驱动设计DDD有一年多的时间了,中间看过不少书,参与过一些讨论(ENode QQ群).目前对DDD的认知还停留在理论阶段,所以对领域建模非常感兴趣,这里说的建模是指以DDD的思想为指导再加上D ...
- redis之(二十一)redis之深入理解Spring Redis的使用
关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么 ...
- 深入理解Spring Redis的使用 (一)、Spring Redis基本使用
关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么 ...
- 分布式缓存技术redis学习—— 深入理解Spring Redis的使用
关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么 ...
随机推荐
- Python之TestLink篇
如何让时间变慢? 你们不知道吧,这个时候翻开书,时间又变慢了一倍,可以这样延年益寿,哈哈哈 ------------------------------------------------------ ...
- Rocket - diplomacy - misaligned
https://mp.weixin.qq.com/s/poCJBcx45clXHm6Uuv8M6w 介绍AddressSet.misaligned的实现.之前介绍的比较概括,也有偏差.这里根据实际执行 ...
- EntityFramework数据持久化 Linq介绍
一.LINQ概述与查询语法 二.LINQ方法语法基础(重点) 三.LINQ聚合操作与元素操作(重点) 四.数据类型转换(重点) 一.LINQ概述与查询语法 1.LINQ(Language Integr ...
- Java实现 LeetCode 100 相同的树
100. 相同的树 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [ ...
- 连接mongoodb并且向数据库添加信息
连接mongoodb 首先安装mongoose 配置URL 连接Mongoodb数据库 控制台输入指令运行该js文件 像这样就连接成功了 向Mongodb数据库增加信息,首先需要写入表格信息 接着解构 ...
- OC 语言特点以及与其他语言的区别
OC 作为一门面向对象的语言,兼容c语言的语法,又有区别于其他面向对象语言的地方: 特点: 1.使用自动释放池,通过引用计数处理对象的内存管理. 2.拥有id这种通用对象类型. 3.分类,功能强大,不 ...
- vue2.0 + element ui 实现表格穿梭框
element ui 官网里介绍了穿梭框(Transfer),但在实际使用过程中,会出现一些问题: 1.穿梭框里能放置的内容太少,不能满足复杂的业务需求. 2.当选项过多时,穿梭框很难实现分页,左右两 ...
- iOS/swift 单选框和复选框
/** 复选框 */ import UIKit class LYBmutipleSelectView: UIView { var selectindexs:[Int]=[]//选中的 //标题数组 v ...
- (八)slf4j+logback 的配置与使用
logback的配置看这篇:https://www.cnblogs.com/lvchengda/p/13054457.html 使用 @Slf4j 1)安装插件lombok 在eclipse/myec ...
- 0.1---selenium+java自动化测试进阶01---PageObject设计模式
一.PageObject设计模式 1.简介 PageObject设计模式,又称页面对象模式,是使用Selenium的广大同行最为公认的一种设计模式.在设计测试时,把元素和方法按照页面抽象出来,分离 ...