CAS(五)CAS客户端单点退出实现

环境要求

  • JDK 8+
  • CAS 5.2
  • tomcat 8+

步骤

一、搭建CAS服务器  --> CAS(一)搭建CAS - server服务器

修改application.properties加入如下配置,该配置的作用是允许退出登录后重定向到其他页面

cas.logout.followServiceRedirects=true

二、搭建两个CAS客户端

这里就直接使用前两节搭建的cas-clientA和cas-clientB作为客户端,可以到GIT仓库 https://gitee.com/oumuv/cas-Demo 下载

cas-clientA搭建步骤-->CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端

cas-clientB搭建步骤-->CAS(四)基于Springboot搭建CAS-client,Springboot搭建CAS客户端

三、controller加入退出登录业务

cas-clientA的退出业务:

     /**
     * 退出
     * @param session
     * @return
     */
    @RequestMapping("logout")
    public String logout(HttpSession session) {
        session.invalidate();
        //使用cas退出成功后,跳转到http://cas.client1.com:9001/logout/success
        return "redirect:http://cas.server.com:8443/cas/logout?service=http://cas.client1.com:9001/logout/success";
    }

    /**
     * 退出成功页
     * @param session
     * @return
     */
    @RequestMapping("logout/success")
    public String logoutsuccess(HttpSession session) {
        return "logoutsuccess";
    }

cas-clientB的退出业务:

@Value("${casClientLogoutUrl}")
    private String clientLogoutUrl;//http://cas.server.com:8443/cas/logout?service=http://cas.client1.com:9002/logout/success

    @RequestMapping("logout")
    public String logout(HttpSession session) {
        session.invalidate();//销毁session
        //使用cas退出成功后,跳转到http://cas.client1.com:9002/logout/success
        return "redirect:" + clientLogoutUrl;
    }

    @RequestMapping("logout/success")
    public String logoutsuccess(HttpSession session) {
        return "logoutsuccess";
    }

四、启动、测试

依次启动cas-server、cas-clientA、cas-clientB

打开两个浏览器窗口分别访问cas-clientA(http://cas.client1.com:9001/index)、cas-clientB(http://cas.client1.com:9002/index)的主页

CAS(五)CAS客户端单点退出实现_第1张图片

测试:

1、在clientA登录后clientB不需要再次登录,单点登录功能正常

2、在clientA点击logout(http://cas.client1.com:9001/logout)退出登录,clientB同时也退出登录,单点退出功能正常

CAS(五)CAS客户端单点退出实现_第2张图片

到此功能完成

代码托管在https://gitee.com/oumuv/cas-Demo

 

上一篇:CAS(四)基于Springboot搭建CAS-client,Springboot搭建CAS客户端

 

希望可以帮助到有需要的人

你可能感兴趣的:(SSO,CAS,SSO单点登录CAS应用专栏)