Cas单点登录(整合shiro版本)
单点登录:Single Sign On,简称 SSO,SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS 框架:CAS(Central Authentication Service)是实现 SSO单点登录的框架。
逻辑关系图:(注:图为转载)
分析:
1.图中用户访问cas客户端;
2.需要登录时,重定向到 Cas-Server(Cas 服务),其中 service 为 Cas-Client 路径
(用于 Cas-Server 执行完后返回到指定路径);
3.cas-server 认证用户信息,并生成一个 ticket 返回给用户;
4.用户使用此 ticket 访问 Cas-Client(连接了 Cas-Server 具体应用);
5.Cas-Client 使用 ticket 再次访问 Cas-Server 进行认证;
6.认证成功后返回 Server 指定路径到 Cas-Client,并返回具体登录用户信息,流程结束。
这是原生 Cas 的一套流程,那么我们需要集成到已经使用 Shiro 框架的应用中,如何进行无缝衔接呢?
具体流程:
对于 Cas-Server 就不多说了,官网下载下来后,修改验证用户信息的配置(从数据库中读取数据进行
身份认证),修改配置文件-deployerConfigContext:
(其中 deployerConfigContext.xml 文件是 CAS 专门提出来的供用户修改