单点登录:单点登录是一种控制多个相关但彼此独立的系统的访问权限, 拥有这一权限的用户可以使用单一的ID和密码访问某个或多个系统从而避免使用不同的用户名或密码,或者通过某种配置无缝地登录每个系统( 一个账户在多个系统上实现单一用户的登录)
实现思路
用户首次登录时流程如下:
1.用户通过浏览器访问系统1需登录受限资源。
2.系统1发现该请求需要登录,将请求重定向到认证中心,进行登录。
3.认证中心返回登录页面,用户登录,登录成功后,认证中心重定向请求到系统1,并带上认证授权token。
4.系统1与认证中心通信,验证令牌有效,证明用户已登录。
5.系统1建立和用户的局部会话并将受限资源返给客户端。
已登录用户访问系统2时:
1.用户浏览器访问系统2需要登录受限资源。
2.系统2发现该请求需要登录,将请求重定向到认证中心,进行登录。
3.认证中心发现已经登录,即重定向请求响应到系统2,附带上认证授权token。
4.系统2与认证中心通信,验证令牌有效,证明用户已登录。
5.系统2建立和用户的局部会话并将受限资源返回给客户端。
退出登录
1.客户端向系统1发送退出请求。
2.系统1取消本地局部会话,同时通知认证中心,用户已退出。
3.认证中心销毁全局会话并销毁各个应用的局部会话。
4.系统1返回客户端退出请求。