24 sso

2020-04-28  本文已影响0人  张力的程序园

问题

sso是什么

答案

sso即Single Sign On,单点登录。我们先说登录,一个系统倘若不记录用户状态,就可以不用登录,那为什么要记录用户状态,我们用一个视频网站举例子。视频网站中包括谁上传了这个视频、谁播放了这个视频、播放了几次、最近这一次看到什么进度等等,这些信息每一个用户都不一样,所以我们要记录每一个用户的信息,这些信息保存在session,每个session都有一个唯一ID。所谓session是指一个用户登录到这个网站直到退出这个网站所经过的时间段,在这个时间段内session的ID不变也唯一,因此就不用重新登录,但当用户重新登录的时候session就会改变,因此我们需要把用户账号密码固化并与权限角色做好映射,从而就能做到无论用户在何时何地登录都能拥有之前存储好的权限。
根据上面的描述,账号密码保证了不同权限,session保证不用反复登录。但有一个问题,session只存在于某个servlet容器,如果我们把服务做成集群,则意味着我们要处理好session共享,而tomcat本身就提供了session共享机制。session共享要消耗时空资源才能完成数据一致化,所以tomcat集群规模不能大。因此,session共享能解决问题,但不是企业级别的解决方案。
企业级别的sso解决方案包括以下几种机制:

上一篇下一篇

猜你喜欢

热点阅读