什么是单点登录一个账户在多个系统上实现单一用户的登录 为什么用单点登录单点登录可以做到在不记录用户密码的情况下,实现不同系统之间的资源共享,自动登录不安全,单点登录,一处登录,处处都可用,不用做多余的登录操作 引用一个很经典的案例 比如现在有OA系统、门户系统、人力资源管理系统、档案管理系统、生产管理系统、xx系统等,这么多个系统在一个公司里面,如果一个用户需要使用这么多个系统,那每天都要登录N多系统,太浪费时间了(其他还有统一用户、统一权限的问题,这里先不谈这个)所以单点登录就是,如果用户在门户系统登录了,那么他打开OA系统、生产管理系统的时候就不用再登录了,因为他已经在门户系统登录过一次 单点登录的原理图片好像有点小,以下是过程
用户登录成功之后,会与sso认证中心及各个子系统建立会话,用户与sso认证中心建立的会话称为全局会话,用户与各个子系统建立的会话称为局部会话,局部会话建立之后,用户访问子系统受保护资源将不再通过sso认证中心,全局会话与局部会话有如下约束关系
单点登录实现过程sso-client
sso-server
数据库就就简单一个用户验证表 搭建认证中心 服务端主要代码 判断下登录名字是否正确,然后把用户信息写入到redis里 客户端主要代码 主要是判断是否登录过,没有就跳转到控制中心去登录 跳转的时候带上登录后的跳转链接 登录成功后 cookies 存在了 判断登录状态是否过期 这个就完成了 cookies+redis 单点登录的流程了 关注+私聊要取 springboot单点登录源码 |
|