CAS示例环境部署及配置(完整版)
CAS的客户端与服务器配置

一.生成证书并配置服务器:(域名:)第一步:为服务器生成证书:(C:\Program Files\Java\jdk1.6.0_19\bin>)keytool -genkey -v -alias server -keyalg RSA -validity 365 -keystore D:\pccw.keystore -dname "CN=,OU=cn,O=cn,L=cn,ST=cn,C=cn" -storepass 111111 -keypass 111111 //其中CN的值为域名第二步:为客户端生成证书:(C:\Program Files\Java\jdk1.6.0_19\bin>)keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore D:\pccw.p12 -dname "CN=,OU=cn,L=cn,ST=cn,C=cn" -storepass 111111 -keypass 111111第三步:让服务器信任客户端证书:(C:\Program Files\Java\jdk1.6.0_19\bin>)keytool -export -alias client -keystore D:\pccw.p12 -storetype PKCS12 -storepass 111111 -rfc -file d:\pccw.cer第四步:将该文件导入到服务器的证书库,添加为一个信任证书:(C:\Program Files\Java\jdk1.6.0_19\bin>)keytool -import -v -file D:\pccw.cer -keystore D:\pccw.keystore -storepass 111111keytool -import -alias pccw -keystore cacerts -file D:\pccw.cer -trustcacerts第五步:通过list命令查看服务器的证书库,我们可以看到两个输入,一个是服务器证书,一个是受信任的客户端证书L:(C:\Program Files\Java\jdk1.6.0_19\bin>)keytool -list -keystore D:\pccw.keystore -storepass 111111完成后将生成的.keystore文件放到Tomcat中的conf目录下修改Tomcat中的srever.xml文件:这段代码本来是注释掉的,把注释去掉,并且加上两个属性之后,如下:<Connector port="8443" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" disableUploadTimeout="true"acceptCount="100" scheme="https" secure="true"keystoreFile="conf/odc.keystore" keystorePass="111111"clientAuth="false" sslProtocol="TLS"/>//keystoreFile="conf/server.keystore" 根据实际路径改写//keystorePass="111111" 设置密码将cas-server-3.4.8\modules中的cas-server-webapp-3.4.8.war复制到Tomcat中的webapps目录下,并改名为cas.war开启服务器并输入https://localhost:8443/cas查看是否显示页面P.S. 删除:keytool -delete -trustcacerts -alias tomcat -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts -storepass changeit 、二.部署客户端:A为cas服务器B为其他电脑上的应用在B电脑中作如下操作:像前面一样生成证书文件下载InstallCert.java文件,javac编译,生成两个文件(InstallCert$SavingTrustManager.class 和InstallCert.class),运行"java InstallCert compA:8443"命令,并且在接下来出现的询问中输入1这样,就将A 添加到了B 的trust store 中。
cas培养基配方

CAS培养基配方1. 简介CAS培养基是一种常用的培养基,用于细胞培养和组织工程等生物学研究领域。
它提供了细胞所需的营养物质和环境条件,以促进细胞的生长和增殖。
CAS培养基配方是根据细胞类型和实验要求进行调整的,不同类型的细胞可能需要不同成分的培养基。
本文将介绍一种常见的CAS培养基配方。
2. CAS培养基成分以下是CAS培养基中常用的成分及其作用:•基础成分:–离子缓冲剂:如磷酸盐缓冲液,用于调节pH值。
–葡萄糖:提供能量。
–氨基酸:提供蛋白质合成所需的原料。
–维生素:促进细胞代谢和生长。
–水溶性因子:如尿素、尿酸等,为特定类型的细胞提供必要的营养物质。
•补充因子:–血清或血清替代物:提供细胞所需的生长因子、激素和其他细胞因子。
–抗生素:用于预防细菌和真菌感染。
•pH调节剂:如NaHCO3等,用于调节培养基的pH值。
•缓冲剂:如HEPES等,用于维持培养基的稳定性。
3. CAS培养基配方示例以下是一种常见的CAS培养基配方示例:成分用量DMEM(Dulbecco’s Modified Eagle Medium)500 mL胎牛血清(Fetal bovine serum)10%青霉素/链霉素(Penicillin/Streptomycin)1%HEPES缓冲液(1 M, pH 7.4)10 mLNaHCO3(7.5%) 5 mL•将DMEM加热至37°C,加入胎牛血清、青霉素/链霉素、HEPES缓冲液和NaHCO3。
•加入适量的去离子水,调整总体积至1 L。
•过滤消毒后,分装到无菌试管中。
注意事项: 1. 所有操作需在无菌条件下进行,以避免细菌和真菌污染。
2. 配制过程中,需用0.22 μm的无菌滤器过滤消毒,以去除潜在的微生物污染。
3. 培养基最好在配制后立即使用,避免长时间存储导致成分变化。
4. 结论CAS培养基是细胞培养和组织工程等生物学研究中常用的培养基。
本文介绍了一种常见的CAS培养基配方示例,并给出了相应的操作步骤和注意事项。
CAS单点登录配置全过程

CAS配置全过程软件工具:1.cas-server-3.3.5-release.zip(CAS服务端)2.cas-client-3.1.10-release.zip(CAS客户端)3.apache-tomcat-7.0.40mons-dbcp-all-1.3-r699049.jar5.mysql-connector-java-5.1.18-bin.jar6.cas-server-jdbc-3.0.5-rc2.jar写在前面的话此配置是根据当前系统,当前的版本,仅供参考,如果有什么其他的问题可以一起研究。
第一节:先走通技术障碍第一步:环境部署1.在Tomcat 根目录下创建一个cas目录。
2.下载CAS服务器并解压,打开cas-server-3.3.5\modules,将cas-server-webapp-3.3.5.war复制到刚刚在Tomcat创建的cas目录下,并重命名为ROOT.war3.修改host文件(C:\Windows\System32\drivers\etc)添加127.0.0.1 注意:如果想在一台PC机上模拟这个单点登录,就必须域名重定向,如果是多台PC机,可以不配置此项,下文有用到,可以用相应PC机的IP代替4.修改Tomcat文件下的server.xml(apache-tomcat-7.0.40\conf\server.xml)添加内容:<Host name="" appBase="cas"unpackWARs="true" autoDeploy="true"></Host>5.启动Tomcat服务,查看信息,(如果有报错,可以根据信息查找错误),打开浏览器,输入:8080如果出现以下界面,则CAS服务端配置成功。
注:这个是最简单的CAS服务,只要输入的用户名跟密码一样,就可以正常登陆,在我们实际开发中,这个验证因为跟数据库作比较,接下来,我们就配置数据库校验。
无废话CAS单点登录配置全过程

CAS配置全过程申明:我使用的是3.4.6版本,在路径上、文件名上可能与您的版本不一样,请务必看清您的CAS版本。
在这里我没有写过多的废话,里面属性的作用、证书的制作等都属于额外的话题,这里就是将CAS部署、运行起来。
至于其他的东西,可以慢慢研究。
写在前面的话看了下面的文字说明如果还是搞不明白这么回事的或遇到什么疑难杂症的,请加入我的QQ群(35271653),群里没几个人,聊起来方便。
在CAS上我也有很多没有解决的问题(例如防止重复登录),大家一起共同探讨。
第一节:先走通技术障碍第一步:环境部署下载CAS服务器并解压,在此处我的目录是D:\Program Files\Apache Software Foundation\cas-server-3.4.6,您可以根据实际情况解压。
打开cas-server-3.4.6 \modules,将其中的cas-server-webapp-3.4.6.war拷贝至您的Apache Tomcat的WebApps目录下。
改名为cas.war(为了方便)并启动Tomcat,启动完成后关闭Tomcat。
在WebApps下会看到cas工程文件夹。
将cas-server-3.4.6\modules下的cas-server-support-jdbc-3.4.6.jar复制到CAS 工程的\WEB-INF\lib下,同时还需要commons-dbcp.jar,此包在CAS里我没找到,我是在网上下载的。
然后将Oracle数据库驱动加入到cas工程的lib下。
第二步:配置数据库验证打开cas/web-inf/deployerConfigContext.xml,找到如下代码:<beanclass="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandle r" />这段代码本来是用于测试的,所以没有任何实际用途,在实际应用中应当采用XML文件或数据库验证,下面就是数据库验证的配置文件。
CAS示例环境部署及配置完整版

C A S示例环境部署及配置一、示例说明在本示例中将使用cas-server-3.5.0和cas-client-3.2.1搭建一个SSO测试环境;在同一台机器上安装3个tomcat;分别部署一个casserver和两个casclient;这三个应用使用不同的域名访问通过配置hosts文件实现多个域名..配置完成之后;应达到如下效果:1、首先访问app1;此时需要跳转到cas登录页面;要求用户进行登录;2、输入正确的用户名和密码;登录成功之后自动跳转到app1;而且可以获取到用户的登录信息;3、在同一个浏览器中直接访问app2;此时不需要再次用户登录即可正常访问;而且可以获取到登录用户的信息;4、反复访问app1和app2;只要不关闭浏览器;就可以一直正常访问并且可以获取到用户信息;5、在浏览器地址栏输入CAS登出的路径;系统提示成功注销;6、此时无论访问app1还是app2;都会跳转到cas登录页面;要求用户重新登录..二、部署文件清单三、准备部署环境本文演示过程在同一个机器上的也可以在三台实体机器或者三个的虚拟机上;根据演示需求;我们需要准备三个不同的域名;分别对应casserver和两个cas客户端应用;用修改hosts文件的方法添加域名最简单方便这个非常重要;在文件c:\windows\system32\drivers\etc\hosts文件中添加三条cas.demoapp1.demodemo其中:对应部署casserver的tomcat;如果这个tomcat使用https协议;则这个虚拟域名还用于证书生成;另外两个域名对应两个不同的客户端应用..安装JDK;配置JAVA_HOME、PATH环境变量;在D盘根目录复制三个TOMCAT文件夹;分别命名为tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2;这个详细过程就不再详细描述..四、CASSERVER部署及通用配置3.1CASSERVER部署cas-server-xxxx.war的下载地址为;本文以cas-server-3.5.0.zip为例;解压提取cas-server-3.5.0/modules/cas-server–webapp-3.5.0.war文件;把此文件复制到tomcat-for-cas\webapps目录并解压到cas文件夹如果不准备对CAS的文件做修改;则可以直接将WAR文件修改为cas.war即可..启动tomcat此tomcat的默认监听端口为8090;在浏览器地址栏输入:ht;按回车键后地址栏会自动变为;并显示如下界面:在登录窗口中;用户名和密码都输入admin实际上可以输入任何值;只要用户名和密码一致;就可以成功登录;这个是CAS的默认验证规则;然后点击登录;会出现如下界面:至此;CASSERVER的应用已经部署成功;接下来就是根据情况进行配置..3.2CASSERVER通用配置1.配置CASSERVER节点名称在文件${CAS}/WEB-INF/cas.properties中的值;比如修改为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文件可能稍微有所不同;本例使用的是cas-client-core-3.2.1;需要的JAR文件如下所示:4.3配置web.xml文件有关cas-client的web.xml修改的详细说明见官网介绍:我们这里只介绍将会用到的最简单的配置;将如下内容复制到web.xml中;需要注意的是SingleSignOutFilter的映射一定要写在其他过滤器的最前面;至少是过滤器CASAuthenticationFilter的前面;然后根据实际情况修改参数即可;如下所示突出显示的部分:4.4部署结果测试配置完成后;启动CASSERVER所在的tomcat和CAS客户端所在的tomcat;然后打开浏览器输入网址;此时浏览器会自动进行跳转到CAS的登录页面;地址栏会显示如下的地址:;同时会看到如下所示的登录界面:在登录窗口中;用户名和密码都输入admin;然后点击登录;系统会自动跳转到登录之前我们要访问的地址;出现如下界面:至此;一个简单的CAS测试环境就搭建成功了..六、为CASSERVER配置HTTPS5.1获取安全证书通常可以从一些安全机构申请安全证书;但是要支付一定的费用;在本试验中;我们使用JDK自带的工具keytool生成一个证书;生成证书的命令为:在上面的命令行中;突出显示的部分为需要修改的部分;其他参数可以默认;也可以参照keytool的参数说明进行修改;其中参数alias指定了证书的别名;以后对证书的操作会用到此名称;我们这里设置为cas;keystore指定了证书存在磁盘上的文件路径;即我们需要将生成的证书存放在哪里..创建证书的过程如下所示;需要注意的是途中画红方框的地方;这个值需要与访问cas 时的域名或者cas所在的计算机名保持一致;最后一个密码和keystore的密码保持一致即可;密码是casserver..5.2配置CASSERVER使用的TOMCAT默认情况下;tomcat是没有开启https端口的;因此需要在TOMCAT/conf/server.xml中进行手动配置..首先找到如下代码的位置:在配置文件中添加红框中所示的代码;其中keystoreFile为我们生成的证书文件的存放路径;keystorePass为生成证书时输入的密码;本实验中我把证书文件复制到了server.xml 的目录下..5.3通过HTTPS访问CAS应用在浏览器中输入;出现如下所示的界面:点击“继续浏览此网站”即可跳转到我们熟悉的登录界面;此时你会发现;那个令人讨厌的“Non-secureConnection”提示也没有了:在登录窗口中;用户名和密码都输入admin实际上可以输入任何值;只要用户名和密码一致;就可以成功登录;这个是CAS的默认验证规则;然后点击登录;会出现如下界面5.4修改CAS客户端的配置将CAS客户端的web.xml中需要配置CASSERVERURL的地方做对应的修改;本例中;应将过滤器CASAuthenticationFilter的参数casServerLoginUrl的值由“/login”修改为“/login”;将过滤器CASValidationFilter的参数casServerUrlPrefix的值由“”修改为“”;修改完配置文件之后;重新启动tomcat;访问地址;浏览器依然会自动跳转到登录页面;但是当输入完用户名和密码;点击登录之后;就会出现如下的错误页面:上图对应的错误信息如下:出现这个错误的直接原因就是因为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/catalina.bat中指定:一种是单独建一个文件;比如start-with-key.bat;然后在文件中加入下面的内容:修改完启动脚本之后;重新启动tomcat;访问地址;浏览器依然会自动跳转到登录页面;输入完用户名和密码;点击登录之后;就会自动跳转到我们需要访问的地址;并显示正常的页面..2、将安全证书导入到JVM默认的证书库中如果在启动JVM的时候没有指定安全证书的位置;当程序用到安全证书时;JVM将使用JRE默认的证书库;位置为%JAVA_HOME%\jre\lib\security\cacerts..因此我们需要做的就是将CASSERVER使用的安全证书导入到JRE的这个证书库中..首先使用keytool的export命令将keystore中的证书信息导出为cer格式的文件;命令格式为:keytool-export-aliascas-keystorecas.keystore-filecas.cer;其中keystore 指定了CASSERVERS使用的安全证书文件的路径我们前面生成的证书存放的路径;参数file 指定要将证书信息导出到哪个文件进行存放..本例中使用的是tomcat/conf下的证书文件;同时也将导出的证书放在了这个目录下:然后使用keytool的import命令将证书cas.cer中的信息导入到JVM的证书库中;命令格式为:keytool-import-aliascas-keystore“%JAVA_HOME%\jre\lib\security\cacerts”-filec as.cer;其中keystore指定了JVM的安全证书文件的路径;参数file指定要将哪个证书的信息导入..JVM证书库的默认密码是changeit..如果在导入证书时;提示证书已经存在;则使用keytool的delete命令将证书删除后再导入即可;命令的语法为keytool-delete-aliascas-keystore“%JAVA_HOME%\jre\lib\security\cacerts”..查看证书是否导入成功:确认证书导入成功之后;重新启动tomcat记得去掉指定安全证书库的启动参数呦;不然是看不到效果的;访问地址;浏览器依然会自动跳转到登录页面;输入完用户名和密码;点击登录之后;就会自动跳转到我们需要访问的地址;并显示正常的页面..至此;一个简单的CAS测试环境就搭建好了;既可以通过HTTP端口访问;也可以通过HTTPS 端口访问..。
CAS客户端服务器端配置步骤

CAS客户端服务器端配置步骤CAS(Central Authentication Service)是一种单点登录认证协议,它通过一个中央认证服务器来管理用户凭证,实现不同应用间的认证和授权。
CAS客户端和服务器端的配置是使用CAS进行单点登录的基础,本文将详细介绍CAS客户端和服务器端的配置步骤。
一、CAS服务器端配置步骤1. 安装CAS服务器首先,需要在服务器上安装CAS服务器。
可以从CAS官方网站下载CAS服务器的安装包,并按照官方文档进行安装步骤。
2. 配置CAS服务器在安装完成后,需要进行CAS服务器的配置。
配置文件通常位于CAS安装目录下的config文件夹中,其中最重要的配置文件是cas.properties文件。
在该文件中,可以设置CAS服务器的基本配置信息,如CAS的URL、端口号等。
3. 配置用户存储方式CAS服务器需要一个用户存储方式来管理用户凭证。
可以选择使用数据库、LDAP等作为用户存储方式。
根据实际需求和系统架构,配置相应的用户存储方式,并将其相关配置信息写入cas.properties文件中。
4. 配置服务端接入网址CAS服务器需要知道哪些应用想要接入单点登录系统。
在配置文件中,可以通过添加服务端应用的网址来启用相应的单点登录功能。
配置完成后,服务端应用会被添加到CAS服务器的服务注册列表中。
5. 配置CAS登录界面通过配置CAS登录界面,可以对登录界面进行自定义,以适应不同系统的需求。
CAS登录界面通常包括用户名和密码的输入框以及登录按钮。
可以通过编辑配置文件中的模板文件来自定义CAS登录界面的内容和样式。
二、CAS客户端配置步骤1. 引入CAS客户端库首先,需要将CAS客户端库引入到需要接入单点登录的应用中。
CAS客户端库通常提供了与CAS服务器通信所需的API和身份认证相关的方法。
2. 配置CAS客户端在应用的配置文件中,需要添加CAS客户端配置相关的信息。
配置信息包括CAS服务器的URL、CAS客户端的URL、CAS登录成功后的跳转路径等。
【CAS学习二】CAS部署和联调

【CAS学习⼆】CAS部署和联调上⼀篇写到服务端部署的是CAS 6.4版本,可后⾯与客户端集成时出现未认证授权的服务,如下:⽹上查了下,要把http的访问打开。
具体设置步骤是:修:%Tomcat%\webapps\cas\WEB-INF\classess\application.properties,在最下⾯添加如下代码:cas.tgc.secure=falsecas.serviceRegistry.initFromJson=true修改%Tomcat%\webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json,serviceId值增加http,如下:先⽤命令gradlew clean build 打包,再gradlew explodeWar解压即可出现那些配置⽂件。
话不多说,开⼲:gradlew explodeWar出错了,郁闷,查了半天⽆果,只能放弃了(哪位⼤神如果知道的⿇烦告知,不胜感激)。
换旧版试试,6.3⼀样失败,6.2成功了,故改⽤6.2部署,下⾯说下CAS 6.2部署、配置数据库、与Client端联合测试。
⼀.CAS 6.2打包及部署下载和初步打包就不说了,想看的朋友看上⼀篇。
1.解压获取配置⽂件2.修改配置1.解压完成后会在bulid⽬录下⽣成⼀个cas-resources ⽂件夹,把它拷贝到src/mian⽂件下改名为resources。
---------->3.修改application.properties,如下图注释掉:#ers=casuser::Mellon#=Static Credentials增加数据库配置和http准⼊,数据库配置中注释掉的是MySQL的配置。
注意此处要先创建数据库cas,表t_user,具体⽅法⽹络上很多。
另外sqlserver的jdbc url是:jdbc:sqlserver://127.0.0.1;instanceName=MSSQLSERVER2016;databaseName=cas,其中127.0.0.1代表本机数据库;instanceName后⾯是实例名,如果就1个实例可不写;databaseName后⾯是数据库名称4.cas服务开启Rest认证cas-overlay-template-6.2\build.gradle中添加rest的依赖5.重新打包,再解压(怀疑这步可能多余)gradlew clean buildgradlew explodeWar把cas-overlay-template-6.2\build\libs\cas.war ⽂件拷贝到tomcat的webapps⽬录下,重启tomcat即可。
CAS单点登录服务器的部署以及使用

CAS单点登录服务器的部署以及使用一.准备CAS服务器端和客户端1.Windows下a)cas服务器端压缩包cas-server-3.4.12-release.zipb)cas客户端压缩包cas-client-3.2.1-release.zip官网有下载/2.linux下a)cas服务器端压缩包cas-server-3.4.12-release.tar.gzb)cas客户端压缩包cas-client-3.2.1-release.tar.gz官网有下载/二.准备架包Oracle数据库驱动架包ojdbc6.jar三.安装CAS1.重新安装一个服务器,如tomcat。
2.部署CAS项目a)解压缩cas-server-3.4.12-release.(tar.gz/zip),进入解压后的cas-server-3.4.12-release目录下的modules中,取出cas-server-webapp-3.4.12.war,放入新安装的tomcat目录下的webapp下,修改war包的名字为cas.war,启动tomcat,将cas.war解压到webapp下,然后关闭服务器3.CAS服务器端证书相关操作。
a)生成服务器端证书Linux下命令:keytool -genkey -alias mycas -keyalg RSA -keystore/home/XXX/cas/key/mycas.keystorewindows下命令:keytool -genkey -alias mycas -keyalg RSA -keystore D\cas\key\mycas.keystore 有效期默认是三个月,若需要修改,增加一个参数,-validity,单位:天b)导出证书Linux下命令:keytool -export -trustcacerts -file /home/XXX/cas/key/mycas.crt -alias mycas -keystore /home/XXX/cas/key/mycas.keystorec)导入证书到客户端JDKLinux下命令:keytool -import -trustcacerts -keystore$JAVA_HOME/jre/lib/security/cacerts -file/home/XXX/cas/key/mycas.crt -alias mycas -storepass changeitwindows下命令:keytool -import -trustcacerts-keystore %JAVA_HOME\jre\lib\security\cacerts -fileD:\cas\key\mycas.crt -alias mycas -storepass changeitd)如果生成失败,请删除证书,重新导入删除证书文件cas/key下的两个文件后执行将证书从jdk中移除,移除JDK中的证书命令Linux下命令:keytool -delete -alias mycas -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeitwindow下命令:--移除JDK中的证书keytool -delete -alias mycas -keystore %JAVA_HOME\jre\lib\security\cacerts-storepass changeite)生成jssecacerts文件下载InstallCert.java这个java源文件网址:/code/snippet_12_4092在命令行中编译,然后执行java文件javac InstallCert.javajava InstallCert localhost:8080将生成的jssecacerts文件复制到$JAVA_HOME\jre\lib\security 目录下f)开启服务器端Tomcat的SSLg)重启电脑登陆测试服务器端,地址为https://localhost:8845/cas,登录用户名密码相同h)查看证书keytool -list -keystore/home/ligang/jdk1.6.0_26/jre/lib/security/cacerts -storepasschangeit4.修改CAS服务器配置,使其可以与项目结合a)进入解压出来的cas目录的WEB-INF下,b)将cas-server-3.4.12-release\modules下的cas-server-support-jdbc-3.4.12.jar和ojdbc6.jar复制到WEB-INF\lib下c)使用编辑工具打开deployerConfigContext.xmld)有三种登录配置,默认是SimpleTestUsernamePasswordAuthenticationHandler,用户名密码相同即可,QueryDatabaseAuthenticationHandler采用在配置文件中指定SQL语句的方式,SearchModeSearchDatabaseAuthenticationHandler是可以在类中写方法的方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAS示例环境部署及配置一、示例说明在本示例中将使用cas-server-3.5.0和cas-client-3.2.1搭建一个SSO测试环境,在同一台机器上安装3个tomcat,分别部署一个cas server和两个cas client,这三个应用使用不同的域名访问(通过配置hosts文件实现多个域名)。
配置完成之后,应达到如下效果:1、首先访问app1,此时需要跳转到cas登录页面,要求用户进行登录;2、输入正确的用户名和密码,登录成功之后自动跳转到app1,而且可以获取到用户的登录信息;3、在同一个浏览器中直接访问app2,此时不需要再次用户登录即可正常访问,而且可以获取到登录用户的信息;4、反复访问app1和app2,只要不关闭浏览器,就可以一直正常访问并且可以获取到用户信息;5、在浏览器地址栏输入CAS登出的路径(https://:8443/cas/logout),系统提示成功注销;6、此时无论访问app1还是app2,都会跳转到cas登录页面,要求用户重新登录。
二、部署文件清单三、准备部署环境本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),根据演示需求,我们需要准备三个不同的域名,分别对应cas server和两个cas客户端应用,用修改hosts 文件的方法添加域名最简单方便(这个非常重要),在文件c:\windows\system32\drivers\etc\hosts 文件中添加三条127.0.0.1 127.0.0.1 127.0.0.1 其中:对应部署cas server的tomcat,如果这个tomcat使用https 协议,则这个虚拟域名还用于证书生成;另外两个域名对应两个不同的客户端应用。
安装JDK,配置JAVA_HOME、PATH环境变量;在D盘根目录复制三个TOMCAT 文件夹,分别命名为tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2;这个详细过程就不再详细描述。
四、CAS SERVER部署及通用配置3.1CAS SERVER部署cas-server-xxxx.war的下载地址为/cas/download,本文以cas-server-3.5.0.zip 为例,解压提取cas-server-3.5.0/modules/cas-server–webapp -3.5.0.war文件,把此文件复制到tomcat-for-cas\webapps目录并解压到cas文件夹(如果不准备对CAS的文件做修改,则可以直接将WAR文件修改为cas.war即可)。
启动tomcat(此tomcat的默认监听端口为8090),在浏览器地址栏输入::8090/cas,按回车键后地址栏会自动变为:8090/cas/login,并显示如下界面:在登录窗口中,用户名和密码都输入admin(实际上可以输入任何值,只要用户名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录,会出现如下界面:至此,CAS SERVER的应用已经部署成功,接下来就是根据情况进行配置。
3.2CAS SERVER通用配置1.配置CAS SERVER节点名称在文件${CAS}/WEB-INF/cas.properties中的值,比如修改为cas01。
2.去除登录页面的“Non-secure Connection”提示如果部署CAS SERVER的TOMCAT没有启用HTTPS或者没有通过HTTPS端口访问,则会出现如下提示,想要去掉这个提示,只能修改登录页面。
五、CAS客户端的部署及配置4.1客户端应用的部署按照常规方式部署使用CAS作为单点登录服务器的应用,并测试此应用是否能正常访问,我们使用的是一个测试应用,只有一个jsp页面,将这个应用放到准备好的tomcat-for-client-2/webapps下面即可,访问应用的跟目录:5090/c2,如果显示正常的页面即表示应用部署成功,我的测试应用显示如下信息:4.2复制CAS CLIENT需要的JAR文件复制CAS核心文件和其所依赖的JAR,不同版本的CAS需要的JAR文件可能稍微有所不同,本例使用的是cas-client-core-3.2.1,需要的JAR文件如下所示:4.3配置web.xml文件有关cas-client的web.xml修改的详细说明见官网介绍:https:///display/CASC/Configuring+the+JA-SIG+CAS+Client+for+Java+in+ the+web.xml我们这里只介绍将会用到的最简单的配置,将如下内容复制到web.xml中,需要注意的是SingleSignOutFilter的映射一定要写在其他过滤器的最前面,至少是过滤器CAS Authentication Filter的前面,然后根据实际情况修改参数即可,如下所示突出显示的部分:4.4部署结果测试配置完成后,启动CAS SERVER所在的tomcat和CAS客户端所在的tomcat,然后打开浏览器输入网址:5090/c2,此时浏览器会自动进行跳转到CAS的登录页面,地址栏会显示如下的地址::8090/cas/login?service=http%3A%2F%%3A5 090%2Fc2%2F,同时会看到如下所示的登录界面:在登录窗口中,用户名和密码都输入admin,然后点击登录,系统会自动跳转到登录之前我们要访问的地址,出现如下界面:至此,一个简单的CAS测试环境就搭建成功了。
六、为CAS SERVER配置HTTPS5.1获取安全证书通常可以从一些安全机构申请安全证书,但是要支付一定的费用,在本试验中,我们使用JDK自带的工具keytool生成一个证书,生成证书的命令为:在上面的命令行中,突出显示的部分为需要修改的部分,其他参数可以默认,也可以参照keytool的参数说明进行修改;其中参数alias指定了证书的别名,以后对证书的操作会用到此名称,我们这里设置为cas,keystore指定了证书存在磁盘上的文件路径,即我们需要将生成的证书存放在哪里。
创建证书的过程如下所示,需要注意的是途中画红方框的地方,这个值需要与访问cas时的域名或者cas所在的计算机名保持一致;最后一个密码和keystore 的密码保持一致即可,密码是casserver。
5.2配置CAS SERVER使用的TOMCAT默认情况下,tomcat是没有开启https端口的,因此需要在TOMCAT/conf/server.xml中进行手动配置。
首先找到如下代码的位置:在配置文件中添加红框中所示的代码,其中keystoreFile为我们生成的证书文件的存放路径,keystorePass为生成证书时输入的密码,本实验中我把证书文件复制到了server.xml的目录下。
5.3通过HTTPS访问CAS应用在浏览器中输入https://:8443/cas,出现如下所示的界面:点击“继续浏览此网站”即可跳转到我们熟悉的登录界面,此时你会发现,那个令人讨厌的“Non-secure Connection”提示也没有了:在登录窗口中,用户名和密码都输入admin(实际上可以输入任何值,只要用户名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录,会出现如下界面5.4修改CAS 客户端的配置将CAS客户端的web.xml中需要配置CAS SERVER URL的地方做对应的修改,本例中,应将过滤器CAS Authentication Filter的参数casServerLoginUrl 的值由“:8090/cas/login”修改为“https://:8443/cas/login”;将过滤器CAS Validation Filter的参数casServerUrlPrefix的值由“:8090/cas”修改为“https://:8443/cas”;修改完配置文件之后,重新启动tomcat,访问地址:5090/c2,浏览器依然会自动跳转到登录页面,但是当输入完用户名和密码,点击登录之后,就会出现如下的错误页面:上图对应的错误信息如下:出现这个错误的直接原因就是因为JVM没有找到访问时所需要的安全证书,现在出现这个错误是正常的,因为我们还没有将安全证书导入到JVM 的证书库中,如果在以后的使用过程中出现这个错误,可以通过keytool的list 命令查看JVM的证书库中是否有对应的证书。
5.5为运行CAS CLIENT的JVM设置安全证书CAS客户端在验证时,会从后台通过代码访问CAS SERVER,此时是通过HTTPS 进行访问的,因此运行CAS客户端的JVM会在JVM的证书库中查找与访问的域名对应的证书,然后使用此证书与CAS SERVER建立会话。
因此我们要告诉JVM到哪里获取安全证书。
有两种方法可以达到这个目的,一个方法是在启动TOMCAT的时候为JVM指定证书的位置和访问密码,另一个方法是将安全证书导入到JVM的默认证书库中。
1、为JVM指定可信证书库的位置在启动TOMCAT的启动参数中增加如下内容,也可以在启动TOMCAT之前将环境变量JAVA_OPTS设置为如下的值(需要注意的是下面两行的内容不要换行):有两种方式指定JVM的启动参数,一种在tomcat/bin/catalina.bat中指定:一种是单独建一个文件,比如start-with-key.bat,然后在文件中加入下面的内容:修改完启动脚本之后,重新启动tomcat,访问地址:5090/c2,浏览器依然会自动跳转到登录页面,输入完用户名和密码,点击登录之后,就会自动跳转到我们需要访问的地址,并显示正常的页面。
2、将安全证书导入到JVM默认的证书库中如果在启动JVM的时候没有指定安全证书的位置,当程序用到安全证书时,JVM将使用JRE默认的证书库,位置为%JAVA_HOME%\jre\lib\security\cacerts 。
因此我们需要做的就是将CAS SERVER使用的安全证书导入到JRE的这个证书库中。
首先使用keytool的export命令将keystore中的证书信息导出为cer格式的文件,命令格式为:keytool -export -alias cas -keystore cas.keystore -file cas.cer,其中keystore指定了CAS SERVERS使用的安全证书文件的路径(我们前面生成的证书存放的路径),参数file指定要将证书信息导出到哪个文件进行存放。
本例中使用的是tomcat/conf下的证书文件,同时也将导出的证书放在了这个目录下:然后使用keytool的import命令将证书cas.cer中的信息导入到JVM的证书库中,命令格式为:keytool -import -alias cas -keystore“%JAVA_HOME%\jre\lib\security\cacerts” -file cas.cer,其中keystore指定了JVM的安全证书文件的路径,参数file指定要将哪个证书的信息导入。