单点登录理解的简单总结

两种单点登录:1.同顶级域名下的单点登录 2.不同域名的单点登录。

1、同顶级域名

        假设一共有三个服务器,一个sso专门用于单点登录,其他A,B两台服务器真正处理业务,他们三个有同一个顶级域名:top.com,各自分别域名为sso.top.com, a.top.com,b.top.com

        首先,登录有两个要点是JsessionId和服务器的session,在登陆sso.top.com时,a、b服务器是无法获取到请求,也就无法生成session的,那现在只要把客户端和单点服务器建立的jsessionid在访问A,B服务器时候带上,同时让A、B服务器有对应的session,便可以实现登录。

解决:

       (1)请求时候如何带上jsessionId:

                他们共享了同一个顶级域名,这是便可以利用这点,在sso登陆后,将cookie(jsessionID)的域设置为顶级域 top.com,这样,其他的子服务器便也可以拿到此客户端的Cookie了。

        (2)A、B服务器如何生成对应的session:

 原本由于他们各自有各自的session,导致无法互通登陆状态,这是便可以使用共享session的办法来解决。比如使用spring session来进行实现。

2、不同域

不同域名的情况,可以使用CAS单点登录:

  • 假设有sso服务器,A, B 三台服务器,他们不同域。
  1. 用户访问业务系统A,业务系统A中没有用户的登陆状态,跳转到sso单点服务器进行登录。
  2. sso服务器上通过用户名+密码登陆后,sso保存session状态,并生成ServiceTiket(ST) ,用户端浏览器生成cookie
  3. sso将ST返回给A服务器,A服务器拿到后再拿着ST返回sso进行验证,验证通过则登录A成功,A服务器生成用户的session,用户成功登录到A系统。

未完待续。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值