博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC + Shiro重定向次数过多问题
阅读量:6345 次
发布时间:2019-06-22

本文共 797 字,大约阅读时间需要 2 分钟。

企业级系统,内部服务数较多,单点登录简称(SSO)是系统不断增多必须要面临的一个问题.

SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

今天在弄单点登录,用的是CAS。权限控制使用的是shiro,shiro有个shiro-cas子模块可以与CAS进行集成。

CAS原理

img_b16449f07881bd9bca3d94ea349ee3d3.png
image.png
  • CAS服务端:主要用于对CAS客户端进行认证和授权,实现方式为发放和验证ticket来实现。
  • CAS客户端:一般是可以通过支持的协议(例如,CAS,SAML,OAuth)与服务端进行通信的客户端,可以是某些软件包,也可以是具体的应用。在企业系统中一般为一个个的服务。

具体可参考官网

具体错误

说一下今天遇到的具体问题,感觉自己脑袋反应不灵活啊,我用的Spring Boot集成Shiro与CAS,在配置Shiro相关的Bean的时候。

因为要自定义一些过滤器,ShiroFilter中可以设置自己的Filter,当设置自己的Filter的时候,默认的Filter会被覆盖掉。

我自定义的Filter都配置成了Spring的Bean,并且把Shiro的LogoutFilter也配置成了Bean

Spring Boot默认加载所有的Filter Bean并且在请求的时候都会生效,这样就导致每次请求LogoutFilter都会生效,然后每次的登录信息都被清除,清除登录信息之后,其它的认证相关Filter也继续起作用,并且执行登录方法,登录失败重定向到登录页面,登录页面也会调用LogoutFilter,总之就是一直重定向了。

知识点

今天的错误就是对Spring的知识点理解不够透彻导致的,Spring中配置的所有Filter Bean默认都会生效。

最后

一个小问题,把自己的问题记录下来,省的以后别人问自己遇到过什么问题吗?然后自己连个问题都说不出来。

参考

转载地址:http://qdjla.baihongyu.com/

你可能感兴趣的文章
值得推荐的C/C++框架和库(转载)
查看>>
Win7如何安装IIS来浏览ASP网站
查看>>
spring整合kafka项目生产和消费测试结果记录(一)
查看>>
原码、反码、补码的产生、应用以及优缺点有哪些?
查看>>
go实例之线程池
查看>>
Freebsd的ports命令
查看>>
分布式系统---幂等性设计
查看>>
get与post请求简单理解
查看>>
【转载】SAP_ECC6.0_EHP4或SAP_ECC6.0_EHP5_基于Windows_Server_2008R2_和SQL_server_2008下的安装...
查看>>
MySQL权限和用户管理
查看>>
g++编译器的使用
查看>>
spark on yarn模式里需要有时手工释放linux内存
查看>>
Storm 简单介绍
查看>>
[转]微信小程序联盟 跳坑《一百八十一》设置API:wx.openSetting使用说明
查看>>
这一篇sigmoid和softmax的比较,讲的不错
查看>>
Omi树组件omi-tree编写指南
查看>>
三种线程——内核线程、轻量级进程、用户线程
查看>>
算法笔记_188:历届试题 危险系数(Java)
查看>>
fastJson使用
查看>>
MySQL用户管理:添加用户、授权、删除用户
查看>>