集成CAS单点登录

文章目录


前言

       假如:存在多个业务系统,每个业务系统在进入前需要登录鉴权,然而每个系统都要实现权限校验的话就会存在多套用户数据不易记、多系统权限认证代码重复开发以及资源管理复杂的缺点,如何解决这些问题?


一、CAS提供SSO解决方案

        CAS(Central Authentication Service—中央认证服务):使用CAS提供一种可靠的SSO(Single Sign On单点登录)解决方案,一个认证服务,一套用户数据,可实现多个用户在多个系统的权限认证,也是很多企业实现单点登录的解决方案

二、CAS工作流程及原理

CAS基本协议流程(认证步骤):

        1、访问目标服务:用户向浏览器发起对系统发起访问,目标系统客户端对用户鉴权,鉴权失败重定向服务;

        2、重定向服务:访问地址重定向为认证服务CAS服务器地址,页面重定向到登录页(http:casurl?service=destUrl);

        3、用户认证:登录向CAS发起认证请求;

        4、发放票据:认证成功,CAS生成票据(ticket);

        5、验证票据:验证ticket的合法性(http:casurl?ticket=ticket);

        6、返回用户信息和令牌:验证成功,返回username、token等

三、实现步骤

        1、后台认证服务作请求拦截处理,实现用户权限验证;

        2、前端配置SSO文件,添加各服务地址;

        3、前端路由实现服务重定向和鉴权逻辑;

        4、前端CAS认证成功,向后台发起token/用户验证;

        5、前端向统一菜单服务发起请求获取菜单

四、注销登录

        1、应用除结束本地局部会话

        2、通知认证中心结束全局会话

        3、子系统清除销毁局部会话


总结

        实现过程中静态资源配置不对,导致子系统对用户的鉴权失败,一直向CAS发起请求生成票据。

        简简单单记录一下自己对CAS实现单点登录的理解,因为是集成单点登录功能所以蛮简单的,后续深入了解一下ticket票据、看看CAS中央认证服务怎么搭建

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值