从上一篇博客中,我们已经实现了CAS客户端集成和服务端授权,能够通过统一认证登录访问系统资源了,接下来我们讲一下如何实现CAS客户端登出及免认证页面配置的问题,还有以个人见解讲一下CAS和Spring security的关系。
上一篇博客:单点登录Apereo CAS 7.1客户端集成教程-CSDN博客
客户端登出
添加logout接口
我们添加一个logout接口,这里主要是两个步骤:1、销毁当前的会话;2、跳转到cas的logout,通知CAS登出。
其中这里获取会话使用的是 request.getSession(false),如果直接使用request.getSession(),那么在没有会话的时候,会自动创建一个会话,这就没必要了。
@RequestMapping("/logout")public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException {// 获取会话HttpSession session = request.getSession(false);if (session != null) {// 销毁会话session.invalidate();}// 重定向到登出成功页面response.sendRedirect("http://localhost:8443/cas/logout");}
现在我们登录后,再访问http://localhost:8090/logout ,系统会注销会话并,然后跳转到cas的logout页面,页面提示已经注销成功。重新访问应用,已经提示需要重新登录。