当前会话是否登录:" + StpUtil.isLogin() + "
" + ""; return str; } ``` #### 5.2、启动测试 重启项目,依次登录三个 client: - [http://sa-sso-client1.com:9001/](http://sa-sso-client1.com:9001/) - [http://sa-sso-client2.com:9001/](http://sa-sso-client2.com:9001/) - [http://sa-sso-client3.com:9001/](http://sa-sso-client3.com:9001/)  在任意一个 client 里,点击 **`[注销]`** 按钮,即可单点注销成功(打开另外两个client,刷新一下页面,登录态丢失)。  PS:这里我们为了方便演示,使用的是超链接跳页面的形式,正式项目中使用 Ajax 调用接口即可做到无刷单点登录退出。 例如,我们使用 [Apifox 接口测试工具](https://www.apifox.cn/) 可以做到同样的效果:  测试完毕! ### 6、后记 当我们熟读三种模式的单点登录之后,其实不难发现:所谓单点登录,其本质就是多个系统之间的会话共享。 当我们理解这一点之后,三种模式的工作原理也浮出水面: - 模式一:采用共享 Cookie 来做到前端 Token 的共享,从而达到后端的 Session 会话共享。 - 模式二:采用 URL 重定向,以 ticket 码为授权中介,做到多个系统间的会话传播。 - 模式三:采用 Http 请求主动查询会话,做到 Client 端与 Server 端的会话同步。