在多系统应用群中,使用,例如,用户账户管理,用户应该有一个统一的账户,不应该让用户在每个子系统分别注册 登陆再分别登出。这就是我们所说的单点登陆问题,即SSO;

SSO问题,时大中型web应用经常碰到的问题,是java架构师需要掌握的必备技能之一,中高级以上Web工程师都应该对它有所了解;

http是一个无状态协议,在此之上实现会话管理,就需要额外的手段,1 带请求参数,侵入性较大,一般不使用,2 使用cookie,服务器通过HTTP响应创建好cookie后,浏览器就接收下来,下次请求会自动携带上返回给服务器,应用这个机制,我们可以实现应用层的登陆会话状态管理。

例如我们可以把登陆状态保存哎cookie中,这是客户端保存方式。会话信息在客户端,需要维护其安全性、徐娅加密文件、携带量变大,这样会影响http的处理效率,同时cookie的数据携带量也有一定的限制。

比较好的方式是服务器端的保存,cookie只保存会话信息的句柄,即在登陆成功后,服务器端可以创建一个唯一登陆会话,并把会话标识ID通过cookie返回给浏览器,浏览器下次访问时会自动带上这个ID,服务器根据ID即可判断是此会话中的请求,从而判断出是该用户,这种操作直到登出销毁会话为止。

我们使用的web应用服务器一般都会提供这种会话基础访问,如Tomcat的Session机制。也就是说,应用开发人员不必利用cookie亲自代码实现会话的创建 维护 和销毁等整个生命周期管理,这些内容服务器Seeion已经提供好了,我们只需要正确使用即可。

1 大中型web应用基本都是多系统组成是应用群,SSO是必须面对的基本问题。

2 Cookie有作用域限制,顶级域名Cookie不能共享,故登陆会话不能共享。

3 直接改造各子系统共享Session,通用性灵活性不强,或对原系统侵入性大,不是解决SSO根本办法。

来自:https://www.imooc.com/article/3555#

当用户访问子系统需要登录时,我们把它引到认证中心,让用户到认证中心去登录认证,认证通过后返回并告知系统用户已登录。当用户再访问另一系统应用时,我们同样引导到认证中心,发现已经登录过,即返回并告知该用户已登录

1 登陆属于系统安全管理模块一部分,涉及认证 建立会话 会话状态判断 取消会话等操作。

2 剥离各系统认证功能,建立统一独立认证服务中心,是解决SSO问题的正确方法。

3 由于是分布式,处理SSO需要解决认证消息传递问题、登陆状态判断问题、登出信息传递问题,保证各应用系统与认证中心之间有效通信。

来自:https://www.imooc.com/article/3558

1 临时令牌只能使用一次,不呢个长期存在,可以使用Redis来实现

2 全局会话和本地会话可以利用web服务器Session,但我们必须实现根据SeeionId查找seesion的功能。

3 服务器端之间HTTP协议方式的通信,可以使用HttpClient工具模拟浏览器实现。

来自:https://www.imooc.com/article/3564

1 CAS是中央认证服务的简称。目前已成为影响最大、广泛使用的、基于java实现的、开源SSO解决方案

2 CAS分为CAS Server认证中心和CAS Client应用系统连接组件,CAS Client支持java php .NET等多种语言开发系统

3 CAS Server是java Web应用,可部署在Tomcat中。CAS Client是连接组件,集成在需要单点登陆的各应用系统中,鉴于登陆安全性,实际应用中使用https协议,为调试方便,可修改为支持http。

来自:https://www.imooc.com/article/3576

转载于:https://www.cnblogs.com/xiaofenguo/p/11527849.html

SSO CAS 单点系列相关推荐

  1. [精华][推荐]SSO CAS单点登录框架学习 搭建详细步骤及源码

    1.了解单点登录  SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...

  2. 爆破专栏丨Spring Security系列教程之实现CAS单点登录上篇-概述

    作者:千锋一一哥 前言 从本章节开始,一一哥 会给各位讲解一个很常见也很重要的知识点,就是单点登录!现在的大型分布式项目,基本都会考虑实现单点登录,而且现在网上也有很多单点登录的实现方案.开源项目,但 ...

  3. CAS单点登录(SSO)介绍及部署

    介绍 CAS CAS 是Yale(耶鲁)大学的一个开源的企业级单点登录系统,它的特点: Java (Spring Webflow/Spring Boot) 服务组件 可插拔身份验证支持(LDAP,Da ...

  4. CAS+SSO配置单点登录完整案例

    CAS+SSO配置单点登录完整案例 目录 CAS+SSO配置单点登录完整案例 部署环境 环境说明 安全证书配置 1.打开cmd命令窗口(管理员身份打开) 2.生成证书,在cmd窗口输入以下命令: 3. ...

  5. java培训爆破专栏之Spring Security系列教程之实现CAS单点登录上篇-概述

    作者:千锋一一哥 前言 从本章节开始,一一哥 会给各位讲解一个很常见也很重要的知识点,就是单点登录!现在的大型分布式项目,基本都会考虑实现单点登录,而且现在网上也有很多单点登录的实现方案.开源项目,但 ...

  6. SSO之CAS单点登录详细搭建

    2019独角兽企业重金招聘Python工程师标准>>> SSO之CAS单点登录详细搭建 : 环境说明: 同一个机器上环境如下: 操作系统:windows7 64位 JDK版本:1.7 ...

  7. SSO、单点登录、集成 CAS、OAuth2

    SSO.单点登录.集成 CAS.OAuth2 JeeSite 已经默认集成了两种单点登录方式(Single Sign On): 1.SSO(简单登录)接口,实现快速登录系统. 2.与 Apereo C ...

  8. CAS单点登录(一)——初识SSO

    前言:其实好早就想把CAS的这一套知识整合一下,在工作上也应用到了这块,只是最近才在工作上接触到CAS,所以刚好把这些知识总结一下.这块可能是一个比较大的模块知识点,所以会有多篇文章进行逐一展开,笔者 ...

  9. CAS单点登入登出原理

    CAS 集中式认证服务(Central Authentication Service,CAS),单点登录协议,允许一个用户访问多个应用程序,而只需要提供一次凭证. 具体实现框架有:OAuth2,Shi ...

最新文章

  1. Udacity机器人软件工程师课程笔记(十三)-运动学-机械手介绍及分类
  2. 盒模型,块状元素,行内元素
  3. Verilog中基本的数据类型
  4. C语言、嵌入式位操作精华技巧大汇总
  5. WPF 如何流畅地滚动ScrollViewer
  6. 从 Linux 源码看 Socket 的阻塞和非阻塞
  7. python 经典排序算法
  8. CVE-2019-0708漏洞补丁KB4499175
  9. rnn stateful
  10. (原创)如何进行有符号小数乘法运算?(Verilog)
  11. 6000万条GitHub帖子告诉你:工作状态与表情符号强相关
  12. 使用单例时一定要注意的一个问题
  13. Android的JNI【实战教程】6⃣️--温控计
  14. 【Docker】使用介绍
  15. 《自然语言处理:基于预训练模型的方法》第七章 预训练语言模型-BERT
  16. 让 CPU 告诉你硬盘和网络到底有多慢 1
  17. matlab 中num2str函数的使用
  18. 2022电商年货节活动时间介绍,电商年货节红包如何领取?
  19. Roson的Qt之旅#71 Qt绘制星空和旋转的星球
  20. linux csgo 是英文,linux csgo服务器

热门文章

  1. tkinter 中给某个文本加上滚动条_Python Tkinter自制文本编辑器
  2. 计算机网络透明网桥的算法,网基课程设计曼切斯特编码模拟透明网桥自习域转发帧算法模拟IP分片模拟.doc...
  3. formdata 接受参数中带有class 对象_浅析JAVA中的反射机制及对Servlet的优化
  4. Redis基本数据类型、应用场景、操作指令
  5. python字典的键设置条件格式_openpyxl条件格式设置数字格式
  6. python函数解读_通过7个Python函数来解释区块链
  7. 文献阅读High-throughput sequencing of the transcriptome and chromatin accessibility in the same cell
  8. java的科学记数法_java – 为什么输出是科学记数法?
  9. 评分卡模型开发(九)--上线监测
  10. Nacos教程_4 配置讲解