cas4.2.7学习(一)在eclipse中构建cas server overlay(maven版)
下载地址:https://github.com/apereo/cas-overlay-template/tree/4.2
2、解压缩
3、在eclipse中使用maven导入:
导入之后pom.xml 可能报错:
没关系,点击finish完成,展开所有的目录如下:
4、创建source folder
上图中可以看到,初始化导入的项目并没有 maven的source folder,使用maven update一下,再打开项目 java build path 可以看见source中显示的是miss状态。
将miss状态的先remove掉,再重新创建 右键项目➡new➡source folder
需要创建的source folder有 /src/main/java , /src/main/resource,/src/test/java
创建完成后如下图所示:
5 、修改pom中的错误
打开 项目根目录下的pom.xml 找到
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
将其中的<version>3.3</version>改成本地有的版本,或者直接去掉,这时pom.xml 可能没有报错了,在使用maven update一下工程,之后看到pom.xml 又报错了
这是因为目前导入的项目中没有 web.xml导致的,可以在这个plugin中的configuration中加上
<failOnMissingWebXml>false</failOnMissingWebXml>配置,或者在项目中WEB-INF下临时新建一个空白的web.xml即可
6、修改WEB-INF/spring-configuration/propertyFileConfigurer.xml
其中标出来的地方是加载cas.properties文件的绝对路径,将其修改指向到项目中etc文件下的cas.properties,比如:
<util:properties id="casProperties" location="file:D:\workspace\cas\cas-overlay-template-4.2\etc\cas.properties" />
7、执行maven install 命令 打包
8、部署,打包成功后我们在target目录下可以看到出现了cas/ ,cas.war如下:
这个cas.war 就可以直接部署到tomcat中了,也可以直接在eclipse中部署,和普通的web项目没啥区别
9、启动
如果我们解决failOnMissingWebXml问题时使用的时创建空白web.xml(使用第一种是没有问题的),那么再启动的时候会报错:
这时需要我们将 target/m2e-wtp/overlays/cas-server-webapp-4.2.7.war/WEB-INF/web.xml中的内容拷贝到空白的web.xml中
拷贝完成后可能会报错:
将其中的<cookie-config><http-only>true</http-only> </cookie-config> 删除即可
之后,再重启tomcat就没问题了
部署完成后,我们可以使用casuser/Mellon 登陆,这个用户名密码可以在cas.properties中找到,
当然你执行以上所有步骤,但是本地也可能跑不起来,这时你就需要查看一下java编译版本啊什么的是不是对的。4.2.7需要java1.7+
如果启动成功了,你可能回发现控制台打印的日志特别少,这是因为它没有找到log4j2.xml。这个文件可以在项目中etc下找到,将其复制到resource目录下即可。
10、测试登陆
浏览器中输入地址 例如http://127.0.0.1:8081/cas/login
输入用户名/密码 即可登陆
11、最后
如果我们使用cas client登陆的话 会发现请求失败,是因为cas server不能使用http请求,这时就需要安装证书什么的,这个网上很多,不再赘述。
我们实际使用肯定不能直接用这个的,比如要修改登陆页面,配置数据库,自定义登陆逻辑等等。这些在后边会分开介绍。