最近解决的一个CAS技术难题(关于门户,CA认证session过期问题)
2012-09-25 16:25
441 查看
出现问题现象描述如下:
1、门户认证长时间登录后,点击注销,不关闭网页重新登录,session注销不掉,换个角色登录后任然显示注销之前的角色信息。
2、重启CA,由于已经登录的门户账户session没有失效。换个角色登录后任然显示注销之前的角色信息。
3、业务系统长时间登录后,点击注销。重新登录门户单点访问业务系统,业务系统session注销不掉,换个角色登录后任然显示注销之前的角色信息。
![](http://img.my.csdn.net/uploads/201209/25/1348561774_8818.GIF)
![](http://img.my.csdn.net/uploads/201209/25/1348561804_5934.GIF)
通过观察浏览器地址栏的变化。如果正常请求(门户正常访问和注销,门户和CA用户一致),返回门户url后面会跟ticket参数。不正常(门户和CA用户不一致),url是没有ticket信息的。所以可以着手将CA登陆用户传递给各业务系统,各业务系统进行用户比较
1、门户认证长时间登录后,点击注销,不关闭网页重新登录,session注销不掉,换个角色登录后任然显示注销之前的角色信息。
2、重启CA,由于已经登录的门户账户session没有失效。换个角色登录后任然显示注销之前的角色信息。
3、业务系统长时间登录后,点击注销。重新登录门户单点访问业务系统,业务系统session注销不掉,换个角色登录后任然显示注销之前的角色信息。
解决方案
用户登录门户,在CA认证登录流程中,将用户认证通过的用户名和ticket信息一起传递给门户。门户监听器获取到登陆url,然后截取CA登陆账户和门户session中保存用户名进行比对。如果比对不匹配,则将门户session进行注销,重新从CA获取认证信息。CA流程请求备注
通过观察浏览器地址栏的变化。如果正常请求(门户正常访问和注销,门户和CA用户一致),返回门户url后面会跟ticket参数。不正常(门户和CA用户不一致),url是没有ticket信息的。所以可以着手将CA登陆用户传递给各业务系统,各业务系统进行用户比较
相关文章推荐
- 请各位高手看一下.这是一个关于定义冲突的问题.我应该怎么解决.急,忘各位高手指点!
- 关于一个应用分枝界限法解决最小顶点覆盖问题的程序说明
- java__晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。
- 针对最近很多关于网速慢的问题,做一下科普和解决办法
- 关于div中放入一个img元素导致div高度会多出几个像素的解决问题
- 关于编译Duilib出现的问题的一个解决办法
- 纯属巧合,解决了一个困扰许久的问题,关于网卡设置时提示“系统找不到指定文件”。
- 一个想法:成立草根技术联盟对开发人员进行技术定级解决企业员工招聘难问题!
- 关于Web程序打开Word、Excel后,不能关闭的问题的一个解决办法
- 关于ASP.NET“操作必须使用一个可更新的查询”问题的解决方法
- 关于cas-client单点登录客户端拦截请求和忽略/排除不需要拦截的请求URL的问题(不需要修改任何代码,只需要一个配置)
- 心情不错, 中午的时候解决了一个纠结了10天的问题(关于联系人管理的)
- 最近实际项目中遇到的技术问题与解决思路
- 关于Qt编译时问题的一个非常奇怪的解决方法
- 关于一个xml schema校验问题的解决办法
- 最近碰到一个奇怪有不容易解决的问题,总算搞定!
- 关于interbase一个怪问题的解决
- 关于个推“证书只能绑定一个bundleId”问题的解决办法
- 手写一个关于title属性自定义提示框解决浏览器(IE)不兼容问题