CAS Server 40二次开发说明文档Word文档下载推荐.docx
- 文档编号:19064216
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:41
- 大小:702.76KB
CAS Server 40二次开发说明文档Word文档下载推荐.docx
《CAS Server 40二次开发说明文档Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《CAS Server 40二次开发说明文档Word文档下载推荐.docx(41页珍藏版)》请在冰豆网上搜索。
7.4.修改ticketRegistry.xml23
7.5.修改web.xml24
8.CASServer登录页定制24
8.1.拷贝资源文件24
8.2.修改casLoginView.jsp25
8.3.基于theme方式25
9.修改CASServer为移动端设备提供REST登录服务25
9.1.添加依赖26
9.2.修改webx.xml27
9.3.请求票据授权27
9.4.请求服务授权28
9.5.JavaClient测试29
在生产环境中,官方提供的CASServer功能远远不能满足我们的需求。
这个时候我们就需要基于源码进行二次开发,以满足我们的线上使用。
这里主要是基于CAS服务器端。
本文档主要描述目前在CASServer4.0版本基础上做了哪些改进。
1.环境搭建
这里为了方便起见采用mavenoverlays特性(通路径下的同名文件会使用最新的资源文件替换已有war目录中下的资源文件)搭建,因此这里不用将cas-server-webapp模块的所有源码导入到工程里,只需将需要修改的文件按源码里面的目录层次结构排列,最终编译构建打包时会自动添加新特性或替换原有文件,这是一件很方便的事,修改和添加了哪些文件一目了然。
以下列出了本文档所涉及到所有拓展功能及最终编译打包所需的maven依赖。
pom.xml
<
projectxmlns="
http:
//maven.apache.org/POM/4.0.0"
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
//maven.apache.org/POM/4.0.0http:
//maven.apache.org/maven-v4_0_0.xsd"
>
<
modelVersion>
4.0.0<
/modelVersion>
groupId>
net.aimeizi<
/groupId>
artifactId>
cas-server-webapp<
/artifactId>
version>
/version>
packaging>
war<
/packaging>
name>
JasigCASWebApplication<
/name>
description>
JasigCASServerWebApplication<
/description>
properties>
!
--文件拷贝时的编码-->
project.build.sourceEncoding>
UTF-8<
/project.build.sourceEncoding>
project.reporting.outputEncoding>
/project.reporting.outputEncoding>
--编译时的编码-->
piler.encoding>
/piler.encoding>
/properties>
dependencies>
dependency>
org.jasig.cas<
type>
/type>
scope>
runtime<
/scope>
/dependency>
cas-server-core<
test-jar<
cas-server-webapp-support<
compile<
exclusions>
exclusion>
*<
/exclusion>
/exclusions>
javax.servlet<
servlet-api<
2.5<
jstl<
1.1.2<
jar<
taglibs<
standard<
mysql<
mysql-connector-java<
5.1.38<
com.alibaba<
druid<
1.0.18<
cas-server-support-jdbc<
--casserverrestlet-->
cas-server-integration-restlet<
org.springframework<
spring-webmvc<
spring-context<
spring-core<
org.restlet.jee<
org.restlet<
2.1.0<
org.restlet.ext.spring<
spring-asm<
spring-web<
spring-expression<
org.restlet.ext.servlet<
org.restlet.ext.slf4j<
--redis-->
org.springframework.data<
spring-data-redis<
1.7.1.RELEASE<
mons<
commons-pool2<
2.4.2<
redis.clients<
jedis<
2.8.1<
com.google.code.kaptcha<
kaptcha<
2.3.2<
--<
system<
-->
systemPath>
${basedir}/lib/kaptcha-2.3.2.jar<
/systemPath>
commons-lang3<
3.4<
--shirocrypto-->
org.apache.shiro<
shiro-core<
1.2.2<
commons-httpclient<
3.1<
/dependencies>
build>
finalName>
cas<
/finalName>
plugins>
/plugins>
/build>
/project>
2.拓展后最终目录结构
3.修改CASServer支持HTTP协议
修改src\main\webapp\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml文件
?
xmlversion="
1.0"
encoding="
UTF-8"
beansxmlns="
//www.springframework.org/schema/beans"
p="
//www.springframework.org/schema/p"
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans.xsd"
--p:
cookieSecure="
true"
表示开启https协议,cookieSecure设置为false关闭https协议-->
beanid="
ticketGrantingTicketCookieGenerator"
class="
org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:
false"
cookieMaxAge="
3600"
cookieName="
CASTGC"
rememberMeMaxAge="
cookiePath="
/cas"
/>
/beans>
修改src\main\webapp\WEB-INF\spring-configuration\warnCookieGenerator.xml文件
warnCookieGenerator"
-1"
CASPRIVACY"
4.修改CAS服务器端登录认证方式为数据库认证
CasServer默认提供简单用户密码认证即(casuser/Mellon,该部分内容在src\main\webapp\WEB-INF\deployerConfigContext.xml文件中可以看到。
),显然这不能满足我们的线上环境。
在此我们需要修改使其支持基于数据库的用户名密码校验。
要想使用数据库校验,需要为casserver提供相应的jdbc依赖。
4.1.在pom中添加如下的依赖
4.2.创建ValidUserQueryDBAuthenticationHandler
在src/main/java目录下创建org.jasig.cas.adaptors.jdbc包,在该包下创建ValidUserQueryDBAuthenticationHandler.java文件。
因内容较多,这里不再列出,具体请查看源码
4.3.修改deployerConfigContext.xml
--数据源-->
dataSource"
com.alibaba.druid.pool.DruidDataSource"
init-method="
init"
destroy-method="
close"
propertyname="
driverClassName"
value="
${dataSource.driver}"
/property>
url"
${dataSource.url}"
username"
${dataSource.username}"
password"
${dataSource.password}"
maxActive"
${dataSource.maxActive}"
initialSize"
${dataSource.initialSize}"
maxWait"
${dataSource.maxWait}"
minIdle"
${dataSource.minIdle}"
timeBetweenEvictionRunsMillis"
${dataSource.timeBetweenEvictionRunsMillis}"
minEvictableIdleTimeMillis"
${dataSource.minEvictableIdleTimeMillis}"
validationQuery"
${dataSource.validationQuery}"
testWhileIdle"
${dataSource.testWhileIdle}"
testOnBorrow"
${dataSource.testOnBorrow}"
testOnReturn"
${dataSource.testOnReturn}"
maxOpenPreparedStatements"
${dataSource.maxOpenPreparedStatements}"
propertynam
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAS Server 40二次开发说明文档 40 二次开发 说明 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)