CAS架构及原理

来源:互联网 发布:python csv模块 编辑:程序博客网 时间:2024/06/05 20:41

CAS 架构及原理

CAS Architecture

CAS系统有两部分组成,分别为cas server和cas client, 这两个物理部件之间可以通过多个协议进行交互。

CAS 服务端

CAS服务端是用springframework建成的java servlet,主要任务是认证用户登录和授权启用CAS的service(简称cas 客户端)。而这种认证主要是通过下发和验证tickets实现的。在用户成功登陆之后,CAS服务端会生成一个ticket-granting ticket(TGT)和建立一个SSO的session。通过服务器的转发,将service ticket(ST)发给发出cas请求的服务。这个ST就会在接下来的这个会话中使用,如果需要CAS验证,就把这个ticket发给server,然后server给予反馈。

CAS 客户端

CAS客户端主要两种不同的实现。一个CAS客户端可以是通过CAS支持协议进行交互的任何应用。一个CAS客户端也可以是一个软件安装包,可以与其他软件集成在一起进行CAS验证。

简化的工作流程:
1. web请求application
2. application发送认证请求给CAS服务端
3. CAS服务端进行认证,认证成功建立cookie和返回ST否则返回认证失败.
4. 返回认证结果到application.

PS:

这里SSO只是负责在多个应用之间免重复登陆,并不控制session。有一句话说的很好,CAS只负责验证,而session的管理都归application负责。

0 0
原创粉丝点击