commons-pool2
在org.jasig.cas.ticket.registry包下创建RedisTicketRegistry,提供一些基于redis对Ticket的增删改查操作。这里涉及内容较多,具体不一一列出,请查看源码。
7.3. 创建TicketRedisTemplate
在org.jasig.cas.ticket.registry包下创建TicketRedisTemplate,用来管理redis的序列化策略 package org.jasig.cas.ticket.registry; import org.jasig.cas.ticket.Ticket; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * CasServer集群环境下使用Redis缓存Ticket * Created by fengjing on 2016/4/27. */ public class TicketRedisTemplate extends RedisTemplate
7.4. 修改ticketRegistry.xml
修改src\\main\\webapp\\WEB-INF\\spring-configuration\\ticketRegistry.xml文件,配置我们自定义的RedisTicketRegistry
Configuration for the default TicketRegistry which stores the tickets in-memory and cleans them out as specified intervals. 这里关于redis的配置放在了cas.properties文件中。
7.5. 修改web.xml
最后一步,记得在web.xml中添加
关于tomcat集群部署及整合nginx或apache负载均衡session同步的内容这里不做赘述,可参考我之前写的搭建配置文档。
使用Redis或Memcached实现Tomcat7+Nginx集群及Session共享 https://github.com/sxyx2008/tomcat7-nginx-redis-memcached-cluster Apache、Tomcat7集群session共享及负载均衡
https://github.com/sxyx2008/apache2-tomcat7-cluster
8. CAS Server登录页定制
这部分内容较为简单。
8.1. 拷贝资源文件
事先让美工设计一套登录页面。然后将css、image、js拷贝到src\\main\\webapp\\css src\\main\\webapp\\images src\\main\\webapp\\js目录下。
8.2. 修改casLoginView.jsp
修改src\\main\\webapp\\WEB-INF\\view\\jsp\\default\%ui\\casLoginView.jsp文件,直接拷贝原来的spring form表单组件替换现有模板对应的表单元素。注意其name属性的值。 下图为自定义的cas server登录页
8.3. 基于theme方式
以上是一种快捷便利的修改方式,官方也提供基于theme的修改方案。
按原有目录结构拷贝src\\main\\webapp\\WEB-INF\\view\\jsp\\default一份并为其重命名。该名称即为theme name。然后修改src\\main\\webapp\\WEB-INF\\cas.properties进行如下配置 cas.viewResolver.basename=default_views
# cas定制登录页主题lamppa 主题文件路径src\\main\\webapp\\WEB-INF\\view\\jsp\\lamppa #cas.themeResolver.defaultThemeName=cas-theme-lamppa #cas.viewResolver.basename=lamppa_views 接着修改对应的文件即可。
9. 修改CAS Server为移动端设备提供REST登录服务
http://apereo.github.io/cas/4.0.x/protocol/REST-Protocol.html
Cas Server主要为web应用提供单点登录解决方案。可在现实中有时候我们也需要为移动端设备提供登录服务。这时候难道还是去请求cas server的统一登录页吗?这有点太low了。Cas官方为我们提供了cas rest风格的登录支持。要使用该功能,就必须得添加相应的依赖。
9.1. 添加依赖