Shiro实现单点登录的流程如下:
用户访问系统A,系统A检查是否存在用户的Cookie或Session,如果不存在,则跳转到统一认证中心(CAS)进行登录。
统一认证中心(CAS)接收到系统A的登录请求后,请求用户输入用户名和密码进行认证。
统一认证中心(CAS)认证成功后,生成一个票据(Ticket)并将其存储在CAS服务器中。
统一认证中心(CAS)将该票据返回给系统A。
系统A将该票据发送给用户的浏览器,保存在Cookie中。
用户访问系统B,系统B检查是否存在用户的Cookie或Session,如果不存在,则跳转到统一认证中心(CAS)进行验证。
统一认证中心(CAS)接收到系统B的验证请求后,检查该票据是否有效。
统一认证中心(CAS)验证通过后,返回给系统B用户的身份信息,并生成一个系统B的票据。
系统B将该票据发送给用户的浏览器,保存在Cookie中。
用户访问其他系统C、系统D等,重复步骤6-9,实现单点登录。
通过以上流程,用户只需要登录一次,就可以在不同的系统间进行访问,并且不需要每次都输入用户名和密码。统一认证中心(CAS)负责认证和授权,各个系统只需要与统一认证中心进行通信即可。