1 Star 0 Fork 0

qiqitrue / sso-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

sso-demo

介绍

基于Kisso开发的Spring Boot版本跨域单点登陆。https://gitee.com/baomidou/kisso

软件架构

Spring Boot Kisso

安装教程

  1. 导入IDEA中
  2. 启动kisso-server和kisso-client

使用说明

1、修改hosts文件

127.0.0.1 ssoserver.com
127.0.0.1 ssoclient1.com
127.0.0.1 ssoclient2.com

2、访问

1、【接入方】:访问http://ssoclient1.com:8081/client/home需要登陆跳转至【认证中心】http://ssoserver.com:8080/login登陆 2、【认证中心】登陆成功之后跳转到http://ssoclient1.com:8081/client/home 3、【认证中心】访问:http://ssoserver.com:8080/token查看登陆信息 4、【退出】操作:http://ssoserver.com:8080/logout等其它操作....

总结

单点登陆流程整体如下: 我们可以部署一个认证中心,认证中心就是一个专门负责处理登录请求的独立的 Web 服务。

用户统一在认证中心进行登录,登录成功后,认证中心记录用户的登录状态,并将 Token 写入 Cookie。(注意这个 Cookie 是认证中心的,应用系统是访问不到的。)

应用系统检查当前请求有没有 Token,如果没有,说明用户在当前系统中尚未登录,那么就将页面跳转至认证中心。由于这个操作会将认证中心的 Cookie 自动带过去,因此,认证中心能够根据 Cookie 知道用户是否已经登录过了。如果认证中心发现用户尚未登录,则返回登录页面,等待用户登录,如果发现用户已经登录过了,就不会让用户再次登录了,而是会跳转回目标 URL ,并在跳转前生成一个 Token,拼接在目标 URL 的后面,回传给目标应用系统。

应用系统拿到 Token 之后,还需要向认证中心确认下 Token 的合法性,防止用户伪造。确认无误后,应用系统记录用户的登录状态,并将 Token 写入 Cookie,然后给本次访问放行。(注意这个 Cookie 是当前应用系统的,其他应用系统是访问不到的。)当用户再次访问当前应用系统时,就会自动带上这个 Token,应用系统验证 Token 发现用户已登录,于是就不会有认证中心什么事了。

参考: https://github.com/FeiChaoyu/CAS xxl-sso

空文件

简介

暂无描述 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/qiqitrue/sso-demo.git
git@gitee.com:qiqitrue/sso-demo.git
qiqitrue
sso-demo
sso-demo
master

搜索帮助