1、sso简介

        单点登录(Single Sign On),只需要登录一次就可以访问所有相互信任的应用系统。目的是简化账号登录过程并保护账号和密码安全,对账号进行统一管理。

      cas的全称是Centeral Authentication Service,是对单点登录SSOSingle Sign On)的一种实现。其由Cas ServerCas Client两部分组成,Cas Server是核心,而Cas Client通常就对应于我们的应用。一个Cas Server可以对应于多个Cas Client
      Cas Server的主要作用是通过发行和验证Ticket(票)来对用户进行认证和授权访问Client应用,用于认证的凭证信息都是由Cas Server管理的。而Cas Client就对应于我们真正的应用,其中会使用到Cas相关的类,用于与Cas Server进行交互。
 在第一次访问某个系统时,由于没有登录会直接跳转到Cas Server去进行登录认证,将附带转跳地址,用户输入信息提交登录请求,Cas Server认证成功后将生成对应的SSO Session,以及名为CASTGCcookie,该cookie包含用来确定用户SSO SessionTicket Granting TicketTGT)。之后会生成一个Service TicketST),并将以ticket作为查询参数名,以该ST作为查询参数值跳转到登录时service对应的URL。如:
http(s)://domain/app1?ticket=ST-2-59fS6KxvmykibRXyoPJE 
 跳转到app1之后将以serviceticket作为查询参数请求Cas Serverservice进行验证,验证通过后Cas Server将返回当前用户的用户名等信息。app1就会给当前用户生成其自身的Session,以后该用户以该Session都可以成功的访问app1,而不需要再去请求Cas Server进行认证。
 当该用户再去访问app2的时候,由于其在app2上没有对应的Session信息,将会跳转到Cas Server的登录地址,Cas Server此时发现其包含名为CASTGCcookie,将获取其中包含的TGT来获取对应的SSO Session,然后会将用户重定向到app2对应的地址,以Service Ticket作为查询参数。之后app2会向Cas Server发送请求校验该Service Ticket,校验成功后app2将建立该用户对应的Session信息,以后该用户以该Session就可以自由的访问app2了。
 各系统之间的单点登录是通过Cas Server生成的SSO Session来交流的,而用户与系统进行交互的时候,各系统将建立单独的Session,以满足用户与该系统的交互需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值