参考了这里的客户端配置,实测生效,感谢博主。
客户端配置后,还需要增加单点登录的servlet或者修改已有的登录的Servlet。对接收到的session进行处理,使其登入系统。
大致思路如下:
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
HttpSession session = request.getSession();
//通过CAS的API获得登陆账号
AssertionImpl assertion = (AssertionImpl) httpRequest.getSession().getAttribute("_const_cas_assertion_");
String loginName = (assertion.getPrincipal()).getName();
try {
/**
*
* 执行本系统的登陆逻辑。
* 跟平常同时校验用户名和密码不同,这里只有用户名。
* 常用做饭是验证用户名在本系统的库中存在,则允许其登录系统,不验证密码
*
*/
} catch (Exception e) {
e.printStackTrace();;
return;
}