当前位置:网站首页>①CAS SSO单点登录框架源码深度分析
①CAS SSO单点登录框架源码深度分析
2022-08-11 02:15:00 【不会写代码的女程序猿】
1.了解单点登录 需要源码

SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口.
SSO 的体系中有下面三种角色:
1) User(多个)
2) Web 应用(多个)
3) SSO 认证中心(一个)
2.SSO 实现包含以下三个原则
1) 所有的登录都在 SSO 认证中心进行。
2) SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的用户.
3) SSO 认证中心和所有的 Web 应用建立一种信任关系.
3.了解单点登录体系结构
1) CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名/密码 等凭证(Credentials).
2) CAS Client 部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需要对请 求方进行身份认证,重定向到 CAS Server 进行认证.
4.CAS SSO单点登录可以不依赖于cookie跨域的解决方案
不依赖于cookie跨域是比较有优势的,假如我们在京东商城上登录一次,在京东商城上其实还有很多的站点,点击其他站点以后是直接可以使用而无需重新登录,我们可以很清楚的看到,里面的域名都是不一样的,如果用传统的方案可能会出现cookie跨域的问题,解决起来比较麻烦。
5.CAS SSO单点登录官网:
https://www.apereo.org/projects/cas
6.CAS 源代码下载地址

进入源码下载地址,当前的git库是正在维护的CAS,也是最新的CAS

CAS最新版本可能存在不稳定的情况,所以这种下载方式我们也不建议使用,可以点击releases查看不同的版本,下载使用比较稳定的版本。


7.通过下载稳定版本的方式下载cas的相关源码包,如下:

直接选择4.2.1的稳定代码即可
8.我们项目中的版本版本使用maven apereo远程库去下载
通过远程maven库下载cas-server-webapp的war包,步骤如下:
(一)访问Maven地址: http://mvnrepository.com/,并搜索cas-server-webapp

(二)点击cas-server-webapp链接地址,下载最新的版本


9.下载cas-client-core的jar包,如下:

10.CAS document文档,cas使用spring mvc开发,支持的协议,支持的开发语言等


CAS的架构图:


Cas的安装要求(我们项目实例使用server版本4.2.7,clent版本是3.3):


到此结束!!
边栏推荐
猜你喜欢

【开源】壁纸软件,给自己电脑设计专属特效

联盛德W801系列6-从微信小程序的角度来分析W801的蓝牙通信源码(indicate方式)

Matlab矩阵(数组)元素过滤常见方法详解

如何解决高度塌陷

ARM development (4) How to read the chip manual for novice Xiaobai, bare metal driver development steps and pure assembly to achieve lighting, assembly combined with c lighting, c to achieve lighting

2022英伟达显卡排名天梯图

nvidia-smi详解

【oops-framework】模板项目【oops-game-kit】使用简介

FPGA learning column (xinlinx) serial communication -

Oops novice template Framework project guide
随机推荐
软件测试面试题:对 RUP,CMM,CMMI,XP,PSP,TSP 的认识?
How to realize the repeatable design of FPGA
PIFuHD配置记录
Please talk about for...in and for...of in JS (below)
Alibaba 最新神作!耗时 182 天肝出来 1015 页分布式全栈手册太香了
基于 HPSO 与多核 LSSVM 的网络入侵检测
OptiFDTD应用:用于光纤入波导耦合的硅纳米锥仿真
[The method of calling the child page from the parent page of the iframe] Stepping on the pit: It is the key to use `[x]` when getting elements. You cannot use `.eq(x)`, otherwise it will not be obtai
Geogebra 教程之 04 Geogebra 小程序
自动生成数据库设计文档利器
YTU 2411: 谁去参加竞赛?【简单循环】
shell脚本入门
请讲一讲JS中的 for...in 与 for...of (下)
超声三维重建总体架构
八.数据的存储
掌握这几招,轻松K.O面试官,Offer拿到吐
【oops-framework】模板项目【oops-game-kit】使用简介
软件测试面试题:什么是Negative测试?
88Q2110 access C45 phy address through C22
Summary of DDL routine operations in MySQL