SSO~~~单点登录

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

简介

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?

问题:因为后台的服务器采用的是集群的部署

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucky彦博M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值