shiro、cas、pac4j 实现单点登陆

前言

上一篇文章介绍了 cas 环境搭建过程 
本文介绍下cas和shiro集成代码实现及数据流转过程简介

先看下实现的效果

访问 http://localhost:8086/demo1
转发到认证中心

输入登陆账号
回到demo1页面

再次访问 http://localhost:8086/demo1 直接会跳转到 demo1页面

点击退出

项目启动[按照运行顺序]

实例化 LifecycleBeanPostProcessor bean生命周期管理类

添加注解支持 并强制使用cglib动态代理

使用 pac4j 的 subjectFactory

初始化cookie

初始化session

初始化 sessionManager 

初始化CasRealm认证与授权 

初始化 securityManager 并设置 sessionManager subjectFacotry和CasRealm

设置cas Server配置

设置cas 客户端配置

设置session shiro存储

设置pac4j配置 并设置 cas 客户端和sessionshiro存储

shiro 相关配置

加载shiro过滤器的权限规则配置

初始化 AuthorizationAttributeSourceAdvisor  并设置 securityManager

将过滤器注册

访问过程数据流转[按照运行顺序]

访问 http://localhost:8086/demo1

获取重定向处理的action
然后跳转到了认证中心的页面

输入登陆账号
登陆成功会回调到demo1项目

解析认证中心返回的信息
然后返回到demo1的首页

点击退出
查看demo1的日志

o.p.cas.logout.DefaultCasLogoutHandler   : No trackable session found for back channel logout. Either the session store does not support to track session or it has expired from the store and the store settings must be updated (expired data)

调用了 casLogout的Handler处理类

代码资源

https://gitee.com/pingfanrenbiji/cas-shiro-springboot-demo.git

本文使用 mdnice 排版

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值