




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 准备工具cas-server-3.5.1-release.zip/cas/cas-client-3.2.1-release.zip/cas-clients/2 CAS验证服务器配置1、解压cas-server-3.5.1-release.zip到磁盘,进入modules文件夹下,把cas-server-webapp-3.5.1.war拷贝到Tomcat安装目录的webapps文件夹下。为了方便在浏览器中浏览,把cas-server-webapp-3.5.1.war文件名修改为cas.war。2、运行Tomcat。在浏览器中输入http:/localhost:8080/cas,显示登录界面。输入用户名和密码(用户名和密码相等即可),登录成功。这样最简单的CAS验证服务器搭配成功。图1 Modules文件夹截图图2 SIG-CAS服务端页面3 数据库验证方式3.1 密码已明文存在数据库中1、复制modules下面所有jar包到tomcat webappscasWEB-INFlib下。数据库为Oracle,因此把Oracle驱动包也复制到lib文件夹下。注意删除重复的jar包。Oracle10g.jar 及 spring-jdbc.jar。2、打开D:apache-tomcat-6.0.30webappscasWEB-INFdeployerConfigContext.xml文件,在bean id=authenticationManager节点上面添加数据源信息:oracle.jdbc.driver.OracleDriverjdbc:oracle:thin:40:1521:orclscotttiger在该文件中搜索“SimpleTestUsernamePasswordAuthenticationHandler”这是cas提供的最简单的验证方式,即用户名和密码相等即可登录成功。现假设我们的登录用户名和密码存在于t_login表中,信息如下:IDUSERNAMEPASSWORD1coolszy123456把上面的bean给注销掉,添加如下信息:当然我们还可以指定表和字段。(接着上面的配置文件)重启服务器,测试。图3 CAS验证成功页面3.2 密码已密文存在数据库中以上的配置只适合密码已明文的方式存储在数据库中,但是实际中我们的密码都是经过加密的。下面演示下如果使用MD5加密密码。首先配置MD5,该配置信息放在数据源配置的下面。然后修改上面的数据库验证配置,添加密码加密方式,修改后如下:3.3 使用自己编写的加密类上面介绍了密码采用MD5加密的配置方式,下面介绍下如果使用我们自己编写的加密类。1、新建一个Java项目,引入cas-server-core-3.4.5.jar包,2、新建一个Java类,实现org.jasig.cas.authentication.handler.PasswordEncoder接口中的public String encode(String arg0)方法,这是用来对输入的密码进行加密,我这里命名为:PasswordEncrypt图4 CAS项目配置3、在encode()方法中可以根据实际的加密方式编写代码。package szy.cas.encrypt;import java.security.MessageDigest;import org.jasig.cas.authentication.handler.PasswordEncoder;public class PasswordEncrypt implements PasswordEncoder public String encode(String password) try MessageDigest alg = MessageDigest.getInstance(SHA-1);alg.reset();alg.update(password.getBytes();byte hash = alg.digest();String digest = ;for (int i = 0; i hash.length; i+) int v = hashi & 0xFF;if (v 16)digest += 0;digest += Integer.toString(v, 16).toUpperCase();return digest; catch (Exception e) e.printStackTrace();return password;编写完毕后,建议进行测试,避免错误发生。然后把该项目导出成jar包,并且把jar包拷贝到D:apache-tomcat-6.0.30webappscasWEB-INFlib下。然后修改上面添加的把class修改为我们的加密类,即!- -测试,成功。4 修改界面4.1 修改验证通过后显示提示信息的界面修改D:apache-tomcat-6.0.30webappscasWEB-INFviewjspdefaultuicasGenericSuccess.jsp页面,添加如下内容调转到指定页面4.2 定义自己的验证界面cas给我们提供了一个“default”界面,该界面比较简单,而且也不怎么漂亮,因此我们需要定制自己的验证界面。下面介绍一下如何设计自己的界面。1、进入D:apache-tomcat-6.0.30webappscasWEB-INFviewjsp,把default文件夹复制一份在本目录下,这里我把文件夹修改为coolszy。2、进入D:apache-tomcat-6.0.30webappscasWEB-INFviewjspcoolszyui。在该目录下你将会看到如下文件:casConfirmView.jsp 在浏览器跳转到用户想要访问的页面之前如果有警告信息,这个页面将会被显示。casGenericSuccess.jsp这个页面一般不会被显示,除非我们直接访问验证服务器的验证界面。5:8080/cas。casLoginView.jsp重点修改的页面。这个就是输入验证信息的界面。casLogoutView.jsp注销界面serviceErrorView.jsp如果用户想要访问的服务没有使用CAS,这个页面将会显示出来。注意:如果我们所有的业务系统都使用了CAS,这个界面则会没有任何作用。如果想修改界面,我建议我们首先熟悉里面所有的jsp页面。重点是casLoginView.jsp还有includes目录下的两个文件。我们在修改时尽量不要修改forms和逻辑标签。除非我们比较熟悉他们。如果我们定义的页面中含有样式表,可直接修改D:apache-tomcat-6.0.30webappscasthemesdefault目录下的cas.css文件。当然我们也可以自己创建一个css文件,个人建议也把文件放到D:apache-tomcat-6.0.30webappscasthemes中,可新建一个目录比如coolszy。接着我们要修改jsp页面中的引用路径。打开D:apache-tomcat-6.0.30webappscasWEB-INFviewjspcoolszyuiincludestop.jsp文件。找到如下代码:我们需要standard.custom.css.file的值。该值存在于D:apache-tomcat-6.0.30webappscasWEB-INFperties文件中。修改为我们的路径。引用的图片也需要注意相对路径和绝对路径。3、进入D:apache-tomcat-6.0.30webappscasWEB-INFclasses目录,复制default_perties,我这里重新命名为coolszy_perties。打开该文件,修改页面路径,我这里是把default全部替换为coolszy。注意:该目录下存在很多messages_*.properties文件,主要是为了国际化。我把不需要的语言给删除掉。同时修改messages_zh_CN.properties文件中的信息,使得提示信息更加符合我们的需求。这个文件我是在Eclipse中修改的。我的Eclipse安装了PropertiesEditor插件。4、打开D:apache-tomcat-6.0.30webappscasWEB-INFperties文件,把cas.viewResolver.basename=default_views 修改为cas.viewResolver.basename=coolszy_views5、启动服务器,测试下效果。有可能显示原来的界面,可尝试把D:apache-tomcat-6.0.30workCatalina 目录下的文件夹清空掉。5 服务器端超时配置打开D:apache-tomcat-6.0.30webappscasWEB-INFspring-configuration目录中的applicationContext.xml文件,修改如下部分信息:修改我们所需要的超时时间。6 HTTPS验证配置6.1 普通证书注:如果电脑上没有设置环境变量JAVA_HOME,请设置完毕后再操作。JAVA_HOME = E:JAVAJDK1.6PATH = $PATH;E:JAVAJDK1.6BIN6.1.1 创建key1、进入cmd。输入“cd”来到系统根目录2、输入命令keytool -genkey -alias cas-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600注:参数-validity指证书的有效期(天),缺省有效期只有90天。其它参数含义请在cmd上输入keytool 回车即可看到。在生成证书时会让你输入信息,其中“您的名字与姓氏是什么?”这个内容必须填写cas服务器所对应的域名或者服务器的计算机名,我这里使用计算机名:图5 创建有效期为3600天的CA证书这样在我们的C盘根目录下生成一个名为server.keystore的证书。6.1.2 将证书导入的JDK的证书信任库中1、导出证书,命令如下:keytool -export -trustcacerts -alias cas-server -file server.cer -keystore server.keystore -storepass changeitk注:server.keystore 为我们上一步生成的证书。2、导入到证书信任库,命令如下:keytool -import -trustcacerts -alias casserver -file server.cer -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts -storepass changeit图6 导出证书注:JDK的路径根据你电脑安装的位置进行修改。另外如果你电脑中安装了JRE,还应执行如下命令:keytool -import -trustcacerts -alias casserver -file server.cer -keystore C:Program FilesJavajre6libsecuritycacerts -storepass changeit3、顺便补充另外两个命令列出所导入证书keytool -list -v -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts删除存在的证书keytool -delete -trustcacerts alias casserver -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts -storepass changeit注:如果提示输入密码,则输入:changeit6.1.3 配置TOMCAT服务器打开D:apache-tomcat-6.0.30confserver.xml 文件,找到:该内容默认是被注释掉。我们把该段注释删除:其中 keystoreFile为已经生成的服务器证书的地址 keystorePass为自定义的服务器证书的密码6.1.4 测试打开浏览器输入5:8443/cas/如果出现如下警告信息,点击确定。图7 https弹出安全访问提示6.2 使用CA证书在一些企业中会使用CA证书进行验证,本节讲解如何使用CA证书。6.2.1 准备工作使用如下命令把上一节的证书从CAS验证服务器和业务服务器上的JRE中删除keytool -delete -trustcacerts -alias casserver -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts -storepass changeitkeytool -delete -trustcacerts -alias casserver -keystore C:Program FilesJavajre6libsecuritycacerts -storepass changeit6.2.2 创建key在cas验证服务器输入命令keytool -genkey -alias -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore coolszy.jks -validity 3600其中为CAS验证服务器的对应的域名。在生成证书时会让你输入信息,其中“您的名字与姓氏是什么?”这个内容同上:图8 生成客户端证书这样在我们的C盘根目录下生成一个名为coolszy.jks的文件。6.2.3 创建证书请求命令:keytool -certreq -alias -file coolszy.csr -keystore coolszy.jks -keypass changeit -storepass changeit图9 导出客户端证书6.2.4 申请CA证书1、进入公司的CA证书申请网站图10 CA证书申请网站页面2、点击“申请一个证书”“高级证书申请”“使用 base64 编码的 CMC 或 PKCS #10 文件提交 一个证书申请,或使用 base64 编码的 PKCS #7 文件续订证书申请。”“浏览要插入的文件”选择“C:coolszy.csr”“提交”“选择Base 64 编码”“下载证书链”保存certnew.p7b。图11 选择证书申请图12 CA证书高级申请页面图13 填写CA证书申请信息6.2.5 导入证书keytool -import -trustcacerts -alias -file c:certnew.p7b -keystore coolszy.jks -keypass changeit -storepass changeit图14 导入申请到的CA证书6.2.6 CAS验证服务器端Tomcat配置修改server.xml,开启开启https。7 业务系统配置7.1 JAVA版本7.1.1 添加jar包解压cas-client-3.2.0-release.zip到磁盘上,我这里放在D盘中。并且把D:cas-client-3.2.0modules目录中的所有jar包拷贝到我们业务系统中。注意删除重复的jar包。7.1.2 导入证书A、普通证书我们需要把CAS验证服务器上生成的server.cer的证书导入到我们业务系统JDK上。keytool -import -trustcacerts -alias casserver -file server.cer -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts -storepass changeit图15 导出证书信息B、使用CA证书1、进入公司的CA证书申请网站2、点击“下载一个 CA 证书,证书链或 CRL”3、编码方式选择“Base 64”4、点击“下载 CA 证书”,保存到磁盘上5、在命令控制台执行如下命令keytool -import -keystore C:Program FilesJavajre6libsecuritycacerts -file c:certnew.cer -alias -storepass changeitkeytool -import -keystore C:Program FilesJavajdk1.6.0_21jrelibsecuritycacerts -file c:certnew.cer -alias -storepass changeit注意:根据JDK和JRE的安装路径进行相应的修改,如果没有安装JRE,则第一条命令不需要执行。7.1.3 配置业务系统web.xml文件在业务系统的web.xml中添加如下配置信息CAS Authentication Filterorg.jasig.cas.client.authentication.AuthenticationFiltercasServerLoginUrl6:8443/cas/loginrenewfalsegatewayfalseserverName40:8080CAS Validation Filterorg.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFiltercasServerUrlPrefixhttps:/IMC-Server:8443/cas/serverName40:8080useSessiontrueredirectAfterValidationtrueCAS HttpServletRequest Wrapper Filterorg.jasig.cas.client.util.HttpServletRequestWrapperFilterCAS Assertion Thread Local Filterorg.jasig.cas.client.util.AssertionThreadLocalFilterCAS Authentication Filter/*CAS Validation Filter/*CAS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 足球传接球 教学设计-2023-2024学年高一上学期体育与健康人教版必修第一册
- 第1课 彩虹出现-渐变工具的使用说课稿-2025-2026学年初中信息技术辽师大版2015八年级上册-辽师大版2015
- 5.1 分式的意义教学设计-2025-2026学年初中数学浙教版2024七年级下册-浙教版2024
- 5.5 线性规划问题的应用举例说课稿-2025-2026学年中职基础课-职业模块 财经、商贸与服务类-高教版-(数学)-51
- 二年级语文下册 课文3 11 我是一只小虫子第1课时说课稿 新人教版
- 2025年标准员考试题库及答案
- 2025年海口市滨海第九小学四年级第七单元测试数学试卷新课
- 2025年北京社区考试题库及答案
- 第12課 夏休みの思い出 教案2024-2025学年初中日语人教版七年级第一册
- 2025办公大楼租赁合同范本
- TCCEAS001-2022建设项目工程总承包计价规范
- 大学普通化学-课件文档
- 人教版小学三年级数学(上册)全册教案
- 2024-2025学年人教版(2024)七年级英语上册 教学计划
- 工程结构设计原理课件--钢梁承载力计算原理
- 质量成长记-过程模式作业表
- 六年级上册美术课件-第一课图形创意与联想|冀教版共15张PPT
- 漆黑的魅影-精灵分布图鉴
- 三年级上册信息技术全册课件ppt
- 小学语文分层作业设计
- 年产xxx套劳保用品项目营销策划方案_范文
评论
0/150
提交评论