CAS示例环境部署及配置 完整版Word格式.docx
- 文档编号:16504485
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:13
- 大小:492.03KB
CAS示例环境部署及配置 完整版Word格式.docx
《CAS示例环境部署及配置 完整版Word格式.docx》由会员分享,可在线阅读,更多相关《CAS示例环境部署及配置 完整版Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
(符合以上标准的J2EE容器)
JDK
CASSERVER部署包
,可以从获取
CASCLIENT部署包
使用CAS做单点登录的应用
三、准备部署环境
本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),根据演示需求,我们需要准备三个不同的域名,分别对应casserver和两个cas客户端应用,用修改hosts文件的方法添加域名最简单方便(这个非常重要),在文件c:
\windows\system32\drivers\etc\hosts文件中添加三条
其中:
对应部署casserver的tomcat,如果这个tomcat使用https协议,则这个虚拟域名还用于证书生成;
另外两个域名对应两个不同的客户端应用。
安装JDK,配置JAVA_HOME、PATH环境变量;
在D盘根目录复制三个TOMCAT文件夹,分别命名为tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2;
这个详细过程就不再详细描述。
四、CASSERVER部署及通用配置
3.1CASSERVER部署
的下载地址为,本文以为例,解压提取文件,把此文件复制到tomcat-for-cas\webapps目录并解压到cas文件夹(如果不准备对CAS的文件做修改,则可以直接将WAR文件修改为即可)。
启动tomcat(此tomcat的默认监听端口为8090),在浏览器地址栏输入:
,按回车键后地址栏会自动变为,并显示如下界面:
在登录窗口中,用户名和密码都输入admin(实际上可以输入任何值,只要用户名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录,会出现如下界面:
至此,CASSERVER的应用已经部署成功,接下来就是根据情况进行配置。
3.2CASSERVER通用配置
1.配置CASSERVER节点名称
在文件${CAS}/WEB-INF/中的值,比如修改为cas01。
2.去除登录页面的“Non-secureConnection”提示
如果部署CASSERVER的TOMCAT没有启用HTTPS或者没有通过HTTPS端口访问,则会出现如下提示,想要去掉这个提示,只能修改登录页面。
五、CAS客户端的部署及配置
4.1客户端应用的部署
按照常规方式部署使用CAS作为单点登录服务器的应用,并测试此应用是否能正常访问,我们使用的是一个测试应用,只有一个jsp页面,将这个应用放到准备好的tomcat-for-client-2/webapps下面即可,访问应用的跟目录,如果显示正常的页面即表示应用部署成功,我的测试应用显示如下信息:
4.2复制CASCLIENT需要的JAR文件
复制CAS核心文件和其所依赖的JAR,不同版本的CAS需要的JAR文件可能稍微有所不同,本例使用的是,需要的JAR文件如下所示:
4.3配置文件
有关cas-client的修改的详细说明见官网介绍:
我们这里只介绍将会用到的最简单的配置,将如下内容复制到中,需要注意的是SingleSignOutFilter的映射一定要写在其他过滤器的最前面,至少是过滤器CASAuthenticationFilter的前面,然后根据实际情况修改参数即可,如下所示突出显示的部分:
<
listener>
<
listener-class>
filter>
filter-name>
CASAuthenticationFilter<
/filter-name>
filter-class>
init-param>
param-name>
casServerLoginUrl<
/param-name>
param-value>
/init-param>
serverName<
/filter>
CASValidationFilter<
casServerUrlPrefix<
<
useSession<
true<
/param-value>
redirectAfterValidation<
false<
HttpServletRequestWrapperFilter<
SingleSignOutFilter<
<
filter-mapping>
url-pattern>
/jsp/*<
/url-pattern>
/filter-mapping>
4.4部署结果测试
配置完成后,启动CASSERVER所在的tomcat和CAS客户端所在的tomcat,然后打开浏览器输入网址,此时浏览器会自动进行跳转到CAS的登录页面,地址栏会显示如下的地址:
,同时会看到如下所示的登录界面:
在登录窗口中,用户名和密码都输入admin,然后点击登录,系统会自动跳转到登录之前我们要访问的地址,出现如下界面:
至此,一个简单的CAS测试环境就搭建成功了。
六、为CASSERVER配置HTTPS
5.1获取安全证书
通常可以从一些安全机构申请安全证书,但是要支付一定的费用,在本试验中,我们使用JDK自带的工具keytool生成一个证书,生成证书的命令为:
keytool-genkey-aliascas-keyalgRSA-keysize1024-validity730-keystored:
/temp/
在上面的命令行中,突出显示的部分为需要修改的部分,其他参数可以默认,也可以参照keytool的参数说明进行修改;
其中参数alias指定了证书的别名,以后对证书的操作会用到此名称,我们这里设置为cas,keystore指定了证书存在磁盘上的文件路径,即我们需要将生成的证书存放在哪里。
创建证书的过程如下所示,需要注意的是途中画红方框的地方,这个值需要与访问cas时的域名或者cas所在的计算机名保持一致;
最后一个密码和keystore的密码保持一致即可,密码是casserver。
5.2配置CASSERVER使用的TOMCAT
默认情况下,tomcat是没有开启https端口的,因此需要在TOMCAT/conf/中进行手动配置。
首先找到如下代码的位置:
在配置文件中添加红框中所示的代码,其中keystoreFile为我们生成的证书文件的存放路径,keystorePass为生成证书时输入的密码,本实验中我把证书文件复制到了的目录下。
5.3通过HTTPS访问CAS应用
在浏览器中输入,出现如下所示的界面:
点击“继续浏览此网站”即可跳转到我们熟悉的登录界面,此时你会发现,那个令人讨厌的“Non-secureConnection”提示也没有了:
在登录窗口中,用户名和密码都输入admin(实际上可以输入任何值,只要用户名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录,会出现如下界面
5.4修改CAS客户端的配置
将CAS客户端的中需要配置CASSERVERURL的地方做对应的修改,本例中,应将过滤器CASAuthenticationFilter的参数casServerLoginUrl的值由“修改为“;
将过滤器CASValidationFilter的参数casServerUrlPrefix的值由“修改为“;
修改完配置文件之后,重新启动tomcat,访问地址,浏览器依然会自动跳转到登录页面,但是当输入完用户名和密码,点击登录之后,就会出现如下的错误页面:
上图对应的错误信息如下:
PKIXpathbuildingfailed:
unabletofindvalidcertificationpathtorequestedtarget
出现这个错误的直接原因就是因为JVM没有找到访问时所需要的安全证书,现在出现这个错误是正常的,因为我们还没有将安全证书导入到JVM的证书库中,如果在以后的使用过程中出现这个错误,可以通过keytool的list命令查看JVM的证书库中是否有对应的证书。
5.5为运行CASCLIENT的JVM设置安全证书
CAS客户端在验证时,会从后台通过代码访问CASSERVER,此时是通过HTTPS进行访问的,因此运行CAS客户端的JVM会在JVM的证书库中查找与访问的域名对应的证书,然后使用此证书与CASSERVER建立会话。
因此我们要告诉JVM到哪里获取安全证书。
有两种方法可以达到这个目的,一个方法是在启动TOMCAT的时候为JVM指定证书的位置和访问密码,另一个方法是将安全证书导入到JVM的默认证书库中。
1、为JVM指定可信证书库的位置
在启动TOMCAT的启动参数中增加如下内容,也可以在启动TOMCAT之前将环境变量JAVA_OPTS设置为如下的值(需要注意的是下面两行的内容不要换行):
有两种方式指定JVM的启动参数,一种在tomcat/bin/中指定:
一种是单独建一个文件,比如,然后在文件中加入下面的内容:
修改完启动脚本之后,重新启动tomcat,访问地址,浏览器依然会自动跳转到登录页面,输入完用户名和密码,点击登录之后,就会自动跳转到我们需要访问的地址,并显示正常的页面。
2、将安全证书导入到JVM默认的证书库中
如果在启动JVM的时候没有指定安全证书的位置,当程序用到安全证书时,JVM将使用JRE默认的证书库,位置为%JAVA_HOME%\jre\lib\security\cacerts。
因此我们需要做的就是将CASSERVER使用的安全证书导入到JRE的这个证书库中。
首先使用keytool的export命令将keystore中的证书信息导出为cer格式的文件,命令格式为:
keytool-export-aliascas-keystore-file,其中keystore指定了CASSERVERS使用的安全证书文件的路径(我们前面生成的证书存放的路径),参数file指定要将证书信息导出到哪个文件进行存放。
本例中使用的是tomcat/conf下的证书文件,同时也将导出的证书放在了这个目录下:
然后使用keytool的import命令将证书中的信息导入到JVM的证书库中,命令格式为:
keytool-import-aliascas-keystore“%JAVA_HOME%\jre\lib\security\cacerts”-file,其中keystore指定了JVM的安全证书文件的路径,参数file指定要将哪个证书的信息导入。
JVM证书库的默认密码是changeit。
如果在导入证书时,提示证书已经存在,则使用keytool的delete命令将证书删除后再导入即可,命令的语法为keytool-delete-aliascas-keystore“%JAVA_HOME%\jre\lib\security\cacerts”。
查看证书是否导入成功:
确认证书导入成功之后,重新启动tomcat(记得去掉指定安全证书库的启动参数呦,不然是看不到效果的),访问地址,浏览器依然会自动跳转到登录页面,输入完用户名和密码,点击登录之后,就会自动跳转到我们需要访问的地址,并显示正常的页面。
至此,一个简单的CAS测试环境就搭建好了,既可以通过HTTP端口访问,也可以通过HTTPS端口访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAS示例环境部署及配置 完整版 CAS 示例 环境 部署 配置
![提示](https://static.bdocx.com/images/bang_tan.gif)