CAS Server4.0二次开发说明文档
1. 环境搭建...................................................................................................................................... 2 2. 拓展后最终目录结构 .................................................................................................................. 7 3. 修改CAS Server支持HTTP协议 ................................................................................................ 8 4. 修改CAS服务器端登录认证方式为数据库认证 ...................................................................... 9
4.1. 在pom中添加如下的依赖 ............................................................................................. 9 4.2. 创建ValidUserQueryDBAuthenticationHandler ............................................................ 10 4.3. 修改deployerConfigContext.xml ................................................................................... 10 5. 登录连续错误三次以上出现验证码校验 ................................................................................ 11
5.1. 添加kaptcha验证码依赖库.......................................................................................... 11 5.2. 配置web.xml ................................................................................................................. 11 5.3. UsernamePasswordCaptchaCredentia ............................................................................ 12 5.4. 修改cas登录页,添加验证码字段 ............................................................................. 12 5.5. 添加验证码校验 ............................................................................................................ 13 5.6. 自定义异常处理Handler 统计错误次数..................................................................... 15 5.7. 修改配置cas-servlet.xml ............................................................................................... 16 5.8. 修改配置login-webflow.xml .......................................................................................... 16 6. CAS服务器端返回多个属性字段.............................................................................................. 17
6.1. 创建MultipleAttributeUserDao模拟用户自定义属性 ................................................ 17 6.2. 修改deployerConfigContext.xml ................................................................................... 18 6.3. 修改casServiceValidationSuccess.jsp ............................................................................ 18 7. CAS Server集群部署时Ticket同步 ........................................................................................... 20
7.1. 添加redis依赖 .............................................................................................................. 20 7.2. 创建RedisTicketRegistry ................................................................................................ 21 7.3. 创建TicketRedisTemplate .............................................................................................. 21 7.4. 修改ticketRegistry.xml ................................................................................................... 22 7.5. 修改web.xml ................................................................................................................. 23 8. CAS Server登录页定制 .............................................................................................................. 23
8.1. 拷贝资源文件 ................................................................................................................ 23 8.2. 修改casLoginView.jsp .................................................................................................... 23 8.3. 基于theme方式 ............................................................................................................ 24 9. 修改CAS Server为移动端设备提供REST登录服务 .............................................................. 24
9.1. 添加依赖 ........................................................................................................................ 24 9.2. 修改webx.xml ................................................................................................................ 26 9.3. 请求票据授权 ................................................................................................................ 26 9.4. 请求服务授权 ................................................................................................................ 27 9.5. Java Client测试 ............................................................................................................... 28
在生产环境中,官方提供的CAS Server功能远远不能满足我们的需求。这个时候我们就需要基于源码进行二次开发,以满足我们的线上使用。这里主要是基于CAS服务器端。本文档主要描述目前在CAS Server 4.0版本基础上做了哪些改进。
1. 环境搭建
这里为了方便起见采用maven overlays特性(通路径下的同名文件会使用最新的资源文件替换已有war目录中下的资源文件)搭建,因此这里不用将cas-server-webapp模块的所有源码导入到工程里,只需将需要修改的文件按源码里面的目录层次结构排列,最终编译构建打包时会自动添加新特性或替换原有文件,这是一件很方便的事,修改和添加了哪些文件一目了然。
以下列出了本文档所涉及到所有拓展功能及最终编译打包所需的maven依赖。 pom.xml