CAS单点登录

来源:互联网 发布:软件架构重要性 编辑:程序博客网 时间:2024/06/15 10:05

说明:最近项目用到多个系统公用一个登录中心,我们组用的是CAS单点登录。
之前的理解是大体上设置session集群的方式,来保存登录信息的。
现在的方式是单独用一个系统CAS Server验证登录,登录成功之后发给一张卡片。以后凭着卡片来访问各个服务。
边学边整理。。。
参考:http://www.coin163.com/java/cas/cas.html%EF%BC%9F

下载相应软件的地址
加强理解:
CAS 的 SSO 实现方式可简化理解为: 1 个 Cookie 和 N 个 Session 。 CAS Server 创建 cookie ,在所有应用认证时使用,各应用通过创建各自的 Session 来标识用户是否已登录。
用户在一个应用验证通过后,以后用户在同一浏览器里访问此应用时,客户端应用中的过滤器会在 session 里读取到用户信息,所以就不会去 CAS Server 认证。如果在此浏览器里访问别的 web 应用时,客户端应用中的过滤器在 session 里读取不到用户信息,就会去 CAS Server 的 login 接口认证,但这时 CAS Server 会读取到浏览器传来的 cookie ( TGC ),所以 CAS Server 不会要求用户去登录页面登录,只是会根据 service 参数生成一个 Ticket ,然后再和 web 应用做一个验证 ticket 的交互,然后客户端应用会创建相应的session。

产生过的疑问:
既然是向浏览器写入cookie,为什么使用这样的CAS复杂的系统?简单的登录加上cookie写入读取不就解决了吗?
答:Cookie存在不能跨域的问题,比如你在A系统(192,168.1.1)登录之后写入的cookie是不能够在B系统(180.98.21.2)使用的。

0 0
原创粉丝点击