在单点登录时,如果A应用已登录,访问B应用时。

Yale CAS的单点登录机制是:
用户访问单点登录客户端时,如果session.getAttribute("edu.yale.its.tp.cas.client.filter.user") == null,并且request中的ticket也为空,会执行以下步骤
1. 客户端-->服务器端 https://xx.com/login
2. 如果已登录,单点登录的login会调回,并带来ticket。
3. 客户端调用服务器端的ServiceValidator得到登录的username。放到session中。
4. 继续后面的工作。

目前有多个客户端需要用到单点登录机制,但登录需要[color=red]不是强制的(用户想登录就登录),[/color]而且访问量巨大。如果用现有的CAS Filter,如果还是访问单点登录服务器的login页面(而且不是强制用户登录嘛),或者其他转到单点登录服务器的方式。会很挫,但现在单点登录是基于Cookie的,必须客户端自己访问才可以得到Ticket。。。

因为登录可能共享给合作方的,所以[color=red]共享cookie不可行[/color]。。。

我现在想单点登录服务器做一种机制,将用户request的唯一信息(ip、浏览器等信息组合出来的)、Ticket的对应信息放在Hashtable中。这样就可以判断是否同一个用户、同一个浏览器登录了。然而貌似不大可行,因为根据HttpServletRequest得不到足够信息保证用户唯一性。。。

有没有更好的机制?请赐教

难道不能在CAS基础上做了?但就算自己做应该还是一样要判定用户唯一性的!!

————————————————————

之前解决了,所以现在把解决方式放上来。
1. cas主动通知,参考了passport.sohu.com的搜狐通行证,通知到chinaren,17173,sohu等各个应用。我现在和sohu通行证是一样的做法了,做了跨域的登录通知,这个需要用到p3p,否则ie会有问题,我用httpwatch监控了sohu,也用了p3p。
2. 改造了中间流程之后,集成了CAS单点登录和 QQ、人人、支付宝的集成登录,并且以后只需要做导入第三方登录和回调的适配器即可,不需要改造核心流程,简化以后的开发。
3. 实现了类似淘宝的购买时如果未登录弹窗功能。而且还实现了弹窗的快速注册流程,大大提交了用户的注册比率。

————————————————————

之后的思考:因为当时我总是想着用Session保持登录状态,觉得这样对于电商网站来说更加安全,所以现在方案是用跨域通知的方式的,但其实还是很蹩脚。最近看了淘宝的登录和登录状态的保持才恍然大悟
1. 可以建一个应用,用于写cookie和保持cookie,对cookie信息进行验证的加密即可保持安全性。
2. 因为我这里大部分的类目页和产品页都是静态的,所以可以利用动静分离来解决。静态页应用不在强制登录的登录,动态加登录限制,静态应用的登录注册模块ajax登录信息,因为是同一个一级域名,所以不用担心跨越问题。

Yale CAS单点(不强制)登录问题相关推荐

  1. 使用http的asp.net项目接入https的CAS单点登录系统

    使用http的应用网站,接入https的CAS单点登录系统,结果就是登录之后,提示重定向次数太多,打不开应用网站的页面. 猜测原因是单点登录服务器与集成应用网站之间没有建立起有效连接.实际上应该也是, ...

  2. cas client 更新ticket_有人知道 cas单点登录系统是怎么样取得proxyticket的?

    展开全部 CAS 原理和协议 从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client.CAS Server 需要独立部署,主要负责62616964757a686964616 ...

  3. CAS 单点登录/登出 系统

    前言: 在我们的实际开发中,更多的是采用分布式系统.那么问题来了,对于分布式系统的登录问题,我们如何解决呢? 如果说我们在每一个系统中都要进行一次登录,那么用户体验度也就差的没法用了.以京东商城为例, ...

  4. CAS 单点登录使用详解

    ============================================================================== 开发环境 :MyEclipse6.5+to ...

  5. CAS单点登录(http方式)

    CAS单点登录 1.CAS介绍 首先我们来说一下CAS,CAS全称为Central Authentication Service即中央认证服务,是一个企业多语言单点登录的解决方案,并努力去成为一个身份 ...

  6. cas单点登录学习笔记 .

    CAS 单点登录使用详解 ============================================================================== 开发环境 :My ...

  7. CAS单点登录(五)——Service配置及管理

    在上一节我们讲述了CAS中关于自定义认证登录策略,对CAS中关于自定义登录配置的方案,校验策略有了一定的了解,如果忘记了可以去复习一下------CAS单点登录(四)--自定义认证登录策略.这节本来该 ...

  8. CAS单点登录-单用户登录(十九)

    CAS单点登录-单用户登录(十九) 简介 所谓"单用户单账户登录"是指:在同一系统中,一个用户名不能在两个地方同时登录. 如: 当某账号在 A 处登录后,在未退出的情况下,如果再到 ...

  9. cas单点登录原理碎碎念

    2019独角兽企业重金招聘Python工程师标准>>> 也许有一天,你去面试,当面试官问你做cas的经验的时候,你会怎么描述? cas单点登录的原理? 单点登录是分为基于sessio ...

最新文章

  1. 001_推箱子-绘制图片
  2. 全球及中国新能源汽车电机市场未来发展方向与投资潜力研究报告2022版
  3. Java 解析XML的几种方法
  4. 权限丢失_不要让任何“账户权限”问题困扰你!
  5. Object to XML
  6. 微软Vista今起大幅降价 最高幅度达到千元
  7. “Lephone.Data.DbEntry”的类型初始值设定项引发异常。(DbEntry.net3.9)
  8. 常见的Activity Action Intent常量
  9. [Ext JS6] Grid不同列的关联编辑
  10. 《编译原理》一道关于逆波兰式的作业题(学委推导出了逆波兰式的数学公式表示)
  11. 20200726每日一句
  12. JUC总览,来自汪文君整理
  13. quartz定时任务cron表达式详解
  14. python分析txt文件_python解析文本文件
  15. 华为路由器:ppp协议
  16. 镭速介绍关于高速数据传输!
  17. BCD码、8421码、余三码、格雷码
  18. 我开始搞研发管理和项目管理了,发现最难管理的还是人
  19. 非平稳的原始序列通过协整检验可以用来建立VAR模型吗?
  20. excel几个表合成一张_如何将几个excel文件合并_多个excel表合并成一个的方法

热门文章

  1. Linux - ps -aux详细解释
  2. 软件测试外包公司怎么样?为什么没人去?看我终极解密外包
  3. java基于Android的天文观星系统APP
  4. 论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images
  5. java程序员竞赛_广东省Java程序员竞赛
  6. 再融40亿,哈罗单车为何能在“寒冬”中逆势崛起?
  7. ETag助力站点提交sitemap,对站点服务器如何配置ETag
  8. 中小学计算机英语研修作业,冉晓莉小学英语第一期主题研修活动作业.docx
  9. 神垕古镇景区5A级十年都没有实现的三大主因
  10. win7自带录像工具怎么打开?win7自带录像工具的使用方法