CAS 单点登录 - Cas Server 下载、部署、测试 与 Tomcat 7.0 开启 Https
2018-03-12 10:08
681 查看
这篇文章只介绍如何下载、部署、测试,概念将在单独篇章进行讲解。
值得注意的是cas server 没有现成的应用部署包,是需要我们自己去打包成war后,手动进行发布,有两种打包方式,第一种是通过gradle直接打包成war,然后进行部署访问;第二种是通过将gradle将项目工程转换成标准项目结构后,导入Eclipse中然后导出war包,然后进行部署访问;这里我们只讲第一种,第二种点过。
下载后解压文件,我们可以看到目录结构,里面有许多个工程,我们使用cas-server-webapp。
点击gradlew.bat。
如果报错,尝试点击dev-build-no-tests.sh或dev-build.sh。
如果还是报错,尝试利用命令行进入cas-server-webapp目录,执行gradle build命令。
ps:对gradle不太了解,报错的信息查不到资料,所以只能按照上面的步骤进行尝试。
项目构建完毕后,cas-server-webapp/build/libs目录下会出现cas-server-webapp-4.2.7.war,就说明你已经成功拿到部署文件了。
将该项目包放置到Tomcat服务器下面自动编译即可,启动服务器后,我们进入到login页面,可以看到项目是启动并进入成功的,但是会有错误,因为不是https协议,后续将介绍到tomcat 开启 https。
ps:要确保上一个步骤没有问题的状态下才进行转换,否则导入工程中会出现错误。以下是cas-server-webapp转换后的目录结构。
第一种为:共2个文件,证书文件(不带后缀名)和证书文件CRT(不推荐,需要关闭APR)
第二种为:证书文件Keystore(推荐)
这里说明的是第一种CRT证书生成方式,打开cmd命令行窗口,输入以下命令进行创建。(mapsay为证书名称,前后保持一致就好,d盘下会生成mapsay文件名的证书文件,不带后缀名)
证书将生成在D盘文件名为mapsay不带后缀的文件,这里第一个填写绑定域名。(因为测试用,我在这里编写的域名是不存在的,需要将它加入到本地hosts文件中即可,位置是:C:\Windows\System32\drivers\etc,hosts文件内,添加127.0.0.1 sso.mapsay.net)
导出的证书为mapsay.crt,到这一步就算拿到证书了。
完成证书导入,到这一步就已经完成了对证书的操作。
错误信息解决:导入证书可能会遇到下面的问题,如果出现这个问题则将D:\DevelopeSoft\Java\jdk1.8.0_131\jre\lib\security下的cacerts文件删除即可。
经过上一步,我们已经将证书导入到客户端JVM中,现在我们将cas server 部署到单独的服务端,利用tomcat服务器来完成,这里涉及到Tomcat 7.0启动Https。
创建一个的tomcat,打开conf目录下的server.xml配置文件进行修改。
访问端口改为:18443,原来是8443。
添加keystoreFile="D:/mapsay",第一次生成key的文件位置,不带拓展名。
添加keystorePass="mapsay",创建证书的密码。
修改完毕后,启动tomcat,报错如下:
要求不启动APR,注释掉server.xml文件中的下面一段代码,即可解决问题。
重新启动后,输入网址访问即可:https://sso.mapsay.net:18443/cas-server-webapp-4.2.7/index.jsp
看到网上有说明如果不启动APR库会导致性能流失,有另外的解决方案,具体我也没测过,这里还是先贴出来以备不时之需。
mapsay为设置的证书别名,但是实际生成的证书是不带名称的.keystore文件,默认生成在当前登录用户文件夹下,具体看图中命令行路径可以查找的到。(我这里:C:\Users\Administrator)
修改conf目录下的server.xml配置文件。
访问端口改为:18443,原来是8443。
添加keystoreFile="D:/.keystore",将上一步生成的keystore文件移动到了d盘下。
添加keystorePass="mapsay",创建证书的密码。
启动后如下无报错信息。
输入网址访问即可:https://sso.mapsay.net:18443/cas-server-webapp-4.2.7/index.jsp
值得注意的是cas server 没有现成的应用部署包,是需要我们自己去打包成war后,手动进行发布,有两种打包方式,第一种是通过gradle直接打包成war,然后进行部署访问;第二种是通过将gradle将项目工程转换成标准项目结构后,导入Eclipse中然后导出war包,然后进行部署访问;这里我们只讲第一种,第二种点过。
CAS Server下载地址
https://www.apereo.org/projects/casCAS Server版本号
4.2.7CAS Server下载步骤
注意:cas server 由 Gradle 构建,因为需要提前配置好 Gradle的环境,在上一篇中有讲述。下载后解压文件,我们可以看到目录结构,里面有许多个工程,我们使用cas-server-webapp。
点击gradlew.bat。
如果报错,尝试点击dev-build-no-tests.sh或dev-build.sh。
如果还是报错,尝试利用命令行进入cas-server-webapp目录,执行gradle build命令。
D:\cas-4.2.7\cas-server-webapp d: gradle build
ps:对gradle不太了解,报错的信息查不到资料,所以只能按照上面的步骤进行尝试。
项目构建完毕后,cas-server-webapp/build/libs目录下会出现cas-server-webapp-4.2.7.war,就说明你已经成功拿到部署文件了。
将该项目包放置到Tomcat服务器下面自动编译即可,启动服务器后,我们进入到login页面,可以看到项目是启动并进入成功的,但是会有错误,因为不是https协议,后续将介绍到tomcat 开启 https。
CAS Server项目加载到Eclipse
我们需要对cas server服务器端进行定制化开发或添加功能,就需要做二次开发,这里可以将cas server转换为标准工程结构然后导入IDE中,进行二次开发后再打包。D:\cas-4.2.7\cas-server-webapp d: gradle eclipse
ps:要确保上一个步骤没有问题的状态下才进行转换,否则导入工程中会出现错误。以下是cas-server-webapp转换后的目录结构。
CAS Server应用部署-证书类型说明
在网上看了好多篇文章,创建和应用证书的方法有大概有2种基本方法,不太明白有什么区别,先记录一下,后面做一个简单区分,后续的证书应用也分为两种尝试记录。第一种为:共2个文件,证书文件(不带后缀名)和证书文件CRT(不推荐,需要关闭APR)
第二种为:证书文件Keystore(推荐)
CAS Server应用部署-创建证书-CRT
上面将到部署CAS Server应用后出现的错误,必须使用https协议访问,因此需要tomcat 7.0 开启 https,在这之前我们还需要做一些准备工作,这第一步就是必须有公认的证书,但是在测试环境下我们使用JDK 自带的keytool来创建测试用,如果需要公认的证书,可以到各大网站去购买,如: 由VeriSign认证,中文官方网站:http://www.verisign.com/cn/这里说明的是第一种CRT证书生成方式,打开cmd命令行窗口,输入以下命令进行创建。(mapsay为证书名称,前后保持一致就好,d盘下会生成mapsay文件名的证书文件,不带后缀名)
keytool -genkey -alias mapsay -keyalg RSA -keystore D:/mapsay
证书将生成在D盘文件名为mapsay不带后缀的文件,这里第一个填写绑定域名。(因为测试用,我在这里编写的域名是不存在的,需要将它加入到本地hosts文件中即可,位置是:C:\Windows\System32\drivers\etc,hosts文件内,添加127.0.0.1 sso.mapsay.net)
CAS Server应用部署-导出证书-CRT
使用以下命令导出证书。keytool -export -file d:/mapsay.crt -alias mapsay -keystore d:/mapsay
导出的证书为mapsay.crt,到这一步就算拿到证书了。
CAS Server应用部署-客户端JVM导入证书-CRT
使用以下命令导入证书。keytool -import -keystore D:\DevelopeSoft\Java\jdk1.8.0_131\jre\lib\security\cacerts -file D:/mapsay.crt
完成证书导入,到这一步就已经完成了对证书的操作。
错误信息解决:导入证书可能会遇到下面的问题,如果出现这个问题则将D:\DevelopeSoft\Java\jdk1.8.0_131\jre\lib\security下的cacerts文件删除即可。
CAS Server应用部署-Tomcat 7.0 开启 Https-CRT
服务器:Tomcat 7.0经过上一步,我们已经将证书导入到客户端JVM中,现在我们将cas server 部署到单独的服务端,利用tomcat服务器来完成,这里涉及到Tomcat 7.0启动Https。
创建一个的tomcat,打开conf目录下的server.xml配置文件进行修改。
访问端口改为:18443,原来是8443。
添加keystoreFile="D:/mapsay",第一次生成key的文件位置,不带拓展名。
添加keystorePass="mapsay",创建证书的密码。
修改完毕后,启动tomcat,报错如下:
要求不启动APR,注释掉server.xml文件中的下面一段代码,即可解决问题。
<!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
重新启动后,输入网址访问即可:https://sso.mapsay.net:18443/cas-server-webapp-4.2.7/index.jsp
看到网上有说明如果不启动APR库会导致性能流失,有另外的解决方案,具体我也没测过,这里还是先贴出来以备不时之需。
CAS Server应用部署-创建证书-Keystore
这里说明的是第二种Keystore证书生成方式,打开cmd命令行窗口,输入以下命令进行创建。keytool -genkey -alias mapsay -keyalg RSA
mapsay为设置的证书别名,但是实际生成的证书是不带名称的.keystore文件,默认生成在当前登录用户文件夹下,具体看图中命令行路径可以查找的到。(我这里:C:\Users\Administrator)
CAS Server应用部署-Tomcat 7.0 开启 Https-Keystore
服务器:Tomcat 7.0修改conf目录下的server.xml配置文件。
访问端口改为:18443,原来是8443。
添加keystoreFile="D:/.keystore",将上一步生成的keystore文件移动到了d盘下。
添加keystorePass="mapsay",创建证书的密码。
启动后如下无报错信息。
输入网址访问即可:https://sso.mapsay.net:18443/cas-server-webapp-4.2.7/index.jsp
相关文章推荐
- cas+tomcat+shiro实现单点登录-2-部署cas server到tomcat
- 单点登录(三)-----实战-----cas server 源码下载和部署
- 单点登录(三)-----实战-----cas server 源码下载和部署
- 单点登录(七)-----实战-----cas server去掉https验证 标签: cas-server去掉取消https4.2 2017-02-07 16:19 2014人阅读 评论(0) 收藏
- 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo
- centos+tomcate + https协议 SSL证书制作、部署支持iphone、ipa下载安装.ipa程序
- 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo
- cas+tomcat+shiro实现单点登录-1-tomcat添加https协议
- 使用Ant构建web项目 从编译到测试 生成测试报告 打包 邮件发送 远程下载tomcat 部署运行一条龙服务之ant脚本
- Apache CAS部署在tomcat上实现单点登录
- 单点登录--三---实战-----cas server 源码下载和部署
- CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置
- 完美解决tomcat8.5+远程无法登录tomcat问题及jenkins远程部署问题
- 在本地myeclipse上部署多个Tomcat7.0的问题
- tomcat开启https
- 独立部署cas服务器以测试客户端各应用程序统一的单点登陆认证功能
- 【IBM】使用 CAS 在 Tomcat 中实现单点登录
- 项目部署,同时开启两台tomcat服务,应修改的端口号(3处)
- cas 部署https服务端和客户端http
- Windows 部署 tomcat 实现下载功能