webshell定时器与CAS单点冲突的奇葩问题
来源:互联网 发布:php获取访客唯一标识 编辑:程序博客网 时间:2024/06/12 18:40
最近在开发时遇到一点小问题:在退出CAS登录后重新登录以后,没有跳转到指定的登入页面,而是返回了一个json的API
报文格式如下:
Request URL:http://127.0.0.1:8080/XXXXX/j_spring_cas_security_check?ticket=XXXXXXXXXXXX.example.org
Response Headers
view source
Content-Length:0
Date:Thu, 05 Nov 2015 03:03:33 GMT
Location:http://127.0.0.1:8080/XXXXX/api/xxx/xxx?xxx=30&xxx=out
就是我登录成功以后,那着ticket去访问,结果返回了一个API的response,然后到filter里面一点点打断点差,有response肯定有request存在,后来发现的确有request,且种类是defaultsavedrequest,最终查到这个request是上次登出由(定时器)之前发出。
复现:
清空缓存(ticket)--定时器发出请求--CAS返回重定向--url输入重新登录
此时第二步发出的请求被CAS缓存,要我们重定向,但是我们又重新再url输入地址,发出请求。认证通过后CAS放行的是前面的请求,导致我们请求index.html的request发出去,
却的到一个API的response。
解决办法:
尝试在CAS,或者filter改进,没有能找到适应性较好的方法,都是针对这个API的种类以及请求资源做抛出,遂放弃。改为在前端定时器请求的时候加上本地cookie是否有ticket的判断。防止冗余请求的发出
- webshell定时器与CAS单点冲突的奇葩问题
- CAS单点登录遇到的问题记录
- cas 单点登录问题
- CAS单点注销问题
- android V4包冲突,遇到最奇葩的一个问题
- Cas单点登录 证书问题
- CAS如何解决单点登录后跨域安全的问题
- CAS Shiro做单点登录不能退出的问题
- CAS单点登录系统整合——注册的问题
- CAS单点登录之重复登录的问题
- spring-oauth集群负载的cas单点登出问题
- spring-oauth集群负载的cas单点登出问题
- CAS与单点登录的流程及原理
- 基于CAS实现单点登录(SSO):cas client端的退出问题
- CAS原理与配置-基于CAS的单点登陆的研究(上)
- CAS原理与配置-基于CAS的单点登陆的研究(上)
- 单点登录cas的使用
- CAS的单点登录原理
- jquery幻灯片更新版
- 欢迎使用CSDN-markdown编辑器
- 贪心算法之背包问题
- Linux中使用ptrace获取pthread线程的寄存器信息
- 自己动手 CentOS-6.5 安装Oracle11g R2
- webshell定时器与CAS单点冲突的奇葩问题
- Ckeditor在线文本编辑器
- 我们为什么要现在就开始写博客
- juzhen
- shell 脚本查找、抽取指定字符串的方法
- FZU1753 Another Easy Problem【组合数】
- mysql 时间类型 及时间函数的使用
- mysql 服务无法启动
- jquery选择器大全