前一段时间,公司项目因为要与其他项目之间进行集成,弄成一个整体的大项目,因为各个项目都是老项目了,每一个项目都有一个自己的登录过滤机制,这时的需求就变成了只需一次登录,就可以登录进去其他子项目,不用每次访问其他项目都需要登录一次。
这个任务就交给了我这个刚毕业参加工作没多久的身上,说实话,对我来说还是挺难的。后来在网上查找各种资料,就选定了用的比较多的成熟框架 CAS 。在实际开发中,也碰到了很多各种各样的问题,在这里把自己对 CAS 的理解,碰到的问题总结一下,也希望能够帮助到更多的人。
单点登录
单点登录就是一次登录过后,再没有退出或者清缓存的情况下,用户再访问其他集成了这个功能的项目时,就不需要进行重复的登录操作,这样会大大的方便用户的使用。如果每次都需要用户登录一遍,估计这个项目也就没多少人用了,所以单点登录这个功能是非常必要的。
CAS
CAS 是耶鲁大学开源的一个单点登录框架,旨在为 web 应用系统提供一个安全可靠的单点登录框架,最终,在我们公司的项目中选择了使用 CAS 框架。
名词解释
在我们了解 CAS 的工作原理之前,我们应该首先了解下在 CAS 里面的一些概念,这样对我们理解 CAS 有一个更好的帮助。
ST:Service Ticket,服务票据,服务的唯一标识码,由 CAS 认证中心生成,返回给用户,这时 service 拿到 ST 后,又会去到 CAS 验证中心去验证,如果验证成功,则允许用户访问资源。
TGC