简介
SSO英文名称Single Sign On
单点登录是一种控制多个相关但彼此独立的系统访问权限的机制,拥有这一权限的用户,可以使用单一的ID和密码访问某个或多个系统从而避免使用不同的用户名或密码,或者通过某种配置无缝的登录每个系统,它是目前比较流行的企业业务整合的解决方案之一,
例如我们使用mis号登录过公司的一个系统后,再登录其他系统不用再次输入用户名和密码

面试题:你的单点登录是怎么调用的?
流程图:

原理:
实现步骤:
当用户登录时,通过nginx访问jt-web中任意的服务器之后输入用户名和密码访问jt-sso单点登录服务器
获取用户的登录信息查询数据库,校验用户名和密码是否正确,如果用户名和密码是正确的,将用户信息转化为JSON串,之后生成加密的秘钥TOKEN(MD5(盐值+随机数))。将token:userJSON保存redis中,并且将token信息返回给客户端(jt-web)。
jt-web接收到服务器端数据时,首先校验数据是否有效,如果数据准确无误,将token信息写入到浏览器的Cookie(4k)中
当用户再次访问jt-web时,首先应该获取用户的Token信息,之后查询redis缓存服务器获取userJSON数据,之后将userJSON转化为User对象进行使用,实现免密登录,如果token数据为null,那么则让用户访问登录页面。
面试题:如何实现的单点登录SSO?
问题:因为后台的服务器采用的是集群的部署

SSO(Single Sign On)是一种控制多个系统访问权限的机制,允许用户使用单一ID和密码访问所有系统。本文介绍了SSO的原理,包括用户登录时通过nginx访问单点登录服务器,校验用户名和密码,生成加密token并存储在redis中。同时,讨论了在集群部署下如何解决多服务器间session共享的问题,提出了初级的IP_Hash方案以及高级的基于token的Redis共享机制。
最低0.47元/天 解锁文章
494

被折叠的 条评论
为什么被折叠?



