前言

上一篇文章介绍了 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 排版

shiro、cas、pac4j 实现单点登陆相关推荐

  1. spring + shiro + cas 实现sso单点登录

    sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码 系统模块说明 cas: 单点登录模块,这里直接拿的是cas的项目改了点样 ...

  2. 集成基于CAS协议的单点登陆

    相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...

  3. springboot+shiro+cas实现单点登录之shiro端搭建

    github:https://github.com/peterowang/shiro-cas 本文如有配置问题,请查看之前的springboot集成shiro的文章 1.配置ehcache缓存,在re ...

  4. cas单点登陆。就这一篇就够了!!!!!

    前言: cas是什么我就不累赘说了.就简单说下大致的流程.首先,cas是一个独立的项目.就是一个war包,部署在tomcat上面启动就ok.然后我们要实现单点登陆,无疑是访问系统1,如果没有登录,就跳 ...

  5. 单点登陆框架CAS的研究

    CAS作为开源的单点登陆框架已经非常的流行了.由于它对已有系统的入侵性小,支持的语言多,备受广大开发者关注:也是很多公司将之作为单点登陆的首选框架.关于CAS如何搭建的文章,网上已经非常多了,随便搜搜 ...

  6. cas单点登陆系统-casServer搭建

    最近工作比较忙,空闲的时间在搞单点登陆系统,自己写了一套SSO在GitHub上,过程走通了.通过这个例子,自己熟悉了流程,而且破天荒的使用了抽象设计模式,并且熟悉了cookies和session的使用 ...

  7. CAS使用账号密码实现单点登陆

    CAS使用账号密码实现单点登陆 CAS单点登陆框架 项目需求 实现思路 1.使用用户名密码获取TGT 2.根据TGT和Service获取ST 3.使用ST访问目标资源 Java代码实现 CAS单点登陆 ...

  8. PHP使用phpCAS对接CAS单点登陆系统

    PHP使用phpCAS对接CAS单点登陆系统 综述 `CAS`单点登陆原理 搭建`CAS SSO`SERVER服务端 下载`phpCAS`客户端 phpCAS客户端配置 PHP开发对接 注意 综述 本 ...

  9. mysql sd5加密语句_CAS原理与配置-基于CAS的单点登陆的研究(上)

    1     前言 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任 ...

最新文章

  1. zoj 3812 状压dp
  2. Java多线程与并发库高级应用 学习笔记 1-9课
  3. java类内存中只能运行一个实例对象
  4. python中requests模块使用
  5. 使用GWmodel进行GWR模型相关运算
  6. LWM2M,MQTT与CoAP区别和联系
  7. java网页木马代码_能够解网页木马代码的高人来看以下。谢谢!```
  8. linux gpio管脚功能配置API
  9. 计算机组成原理测试,计算机组成原理测试题及答案
  10. 深度剖析WiFi的SSID问题
  11. 微信小程序—带qq表情的评论输入框
  12. 调用百度API实现人脸识别
  13. 《新零售:低价高效的数据赋能之路》读后感
  14. HTML——表格合并
  15. win7怎么更换锁屏壁纸
  16. 如何用pycharm将.ui文件转换为.py文件(内含出错解决方法)
  17. Wise Duplicate Finder(重复文件查找工具)v1.2.9.40中文免费版
  18. 深度和广度优先算法题
  19. Windows Ubuntu 子系统修改默认登陆用户·
  20. 深度学习:Q-learning收敛证明

热门文章

  1. java回调函数(全干货)
  2. admin后台菜单栏的实现
  3. ffmpeg合并音频(转)
  4. 看看async,await 是如何简化异步的调用WCF!
  5. 【转载】Kubernetes 加入Docker 平台,Mac和Windows开发者的福音
  6. 跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架
  7. BCGSoft Demo示例展示:对话框示例
  8. 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析...
  9. 在sphinx中处理使用特殊字符时所引起错误的办法
  10. 中小企业集群ntpd服务搭建