基于Kisso开发的Spring Boot版本跨域单点登陆。https://gitee.com/baomidou/kisso
Spring Boot Kisso
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。