CAS客户端单点退出实现-(五)-ITB运维部落—http://www.itbcn.cn—ITB运维技术交流之家平台
记录工作点滴
分享运维知识

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

步骤

一、搭建CAS服务器  –>

修改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)的主页

测试:

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

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

到此功能完成

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

未经允许不得转载:ITB运维部落—http://www.itbcn.cn—ITB运维技术交流之家平台 » CAS客户端单点退出实现-(五)

如果文章对你有帮助,欢迎点击上方按钮打赏作者

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

中国IT部落服务于运维技术人员交流分享平台

关于我们联系我们