CAS配置手册.docx
- 文档编号:4475894
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:43
- 大小:305.74KB
CAS配置手册.docx
《CAS配置手册.docx》由会员分享,可在线阅读,更多相关《CAS配置手册.docx(43页珍藏版)》请在冰豆网上搜索。
CAS配置手册
CAS配置手册
1准备工具
1cas-server-3。
4.5-release。
zip:
http:
//downloads。
jasig。
org/cas/
2cas-client-3.2。
0-release。
zip:
http:
//downloads.jasig。
org/cas—clients/
2配置环境
CAS服务器信息
计算机名:
IMC—Server
操作系统:
Windows2003SP2
JDK:
jdk1。
6.0_21
Tomcat:
apache-tomcat—6。
0.30
浏览器:
IE6
IP地址:
10.12。
21.45
CAS客户端信息
IP地址:
10。
12.21.140
Oracle数据库信息
IP地址:
10。
12.21。
140
用户名:
scott
密码:
tiger
3CAS验证服务器配置
1解压cas-server—3。
4。
5-release。
zip到磁盘(我的路径为D:
\cas—server-3。
4。
5),进入D:
\cas—server—3。
4.5\modules文件夹下,把cas—server—webapp—3。
4。
5。
war拷贝到Tomcat安装目录的(我的路径为D:
\apache-tomcat—6。
0。
30)webapps文件夹下。
为了方便在浏览器中浏览,把cas-server—webapp—3.4。
5。
war文件名修改为cas.war
2运行Tomcat。
在浏览器中输入http:
//10.12。
21。
45:
8080/cas,显示登录界面。
输入用户名和密码(用户名和密码相等即可),登录成功.这样最简单的CAS验证服务器搭配成功。
4数据库验证方式
4.1密码已明文存在数据库中
1复制D:
\cas-server—3.4.5\modules下面所有jar包到D:
\apache—tomcat-6。
0。
30\webapps\
cas\WEB—INF\lib下。
数据库为Oracle,因此把Oracle驱动包也复制到lib文件夹下。
注意删除重复的jar包.
2打开D:
\apache—tomcat-6.0。
30\webapps\cas\WEB-INF\deployerConfigContext.xml文件
在〈beanid=”authenticationManager”节点上面添加数据源信息:
class="org.springframework。 jdbc.datasource。 DriverManagerDataSource"> oracle.jdbc.driver。 OracleDriver 〈/value〉 〈/property〉 jdbc: oracle: thin: @10.12。 21.140: 1521: orcl 〈/property〉 〈value>scott〈/value> 〈/property〉 在该文件中搜索“SimpleTestUsernamePasswordAuthenticationHandler" 〈bean class="org。 jasig。 cas。 authentication。 handler。 support.SimpleTestUsernamePasswordAuthenticationHandler"/〉 这是cas提供的最简单的验证方式,即用户名和密码相等即可登录成功。 现假设我们的登录用户名和密码存在于t_login表中,信息如下: ID USERNAME PASSWORD 1 coolszy 123456 把上面的bean给注销掉,添加如下信息: jasig。 cas.adaptors。 jdbc.QueryDatabaseAuthenticationHandler"> ”/〉 〈propertyname="dataSource”ref="dataSource"/〉 〈/bean> 重启服务器,测试.当然我们还可以指定表和字段 〈beanclass="org。 jasig.cas。 adaptors.jdbc。 SearchModeSearchDatabaseAuthenticationHandler" abstract=”false”lazy—init=”default”autowire="default”> 〈propertyname=”dataSource”ref=”dataSource"/> 〈propertyname=”fieldUser”value=”username”/> 〈propertyname=”fieldPassword”value="password"/> 〈/bean〉 4.2密码已密文存在数据库中 以上的配置只适合密码已明文的方式存储在数据库中,但是实际中我们的密码都是经过加密的。 下面演示下如果使用MD5加密密码。 首先配置MD5,该配置信息放在数据源配置的下面. class=”org。 jasig。 cas.authentication.handler。 DefaultPasswordEncoder”> 〈constructor—argvalue=”MD5”/> 然后修改上面的数据库验证配置,添加密码加密方式,修改后如下: 〈beanclass=”org。 jasig.cas.adaptors。 jdbc。 QueryDatabaseAuthenticationHandler"> 〈propertyname="sql”value=”selectpasswordfromt_loginwhereusername=? "/> 〈propertyname=”passwordEncoder"ref="passwordEncoder”/〉 〈/bean> 4.3使用自己编写的加密类 上面介绍了密码采用MD5加密的配置方式,下面介绍下如果使用我们自己编写的加密类。 1新建一个Java项目,cas—server-core—3.4.5。 jar包, 2新建一个Java类,实现org。 jasig。 cas.authentication。 handler。 PasswordEncoder接口中的publicStringencode(Stringarg0)方法,这是用来对输入的密码进行加密,我这里命名为: PasswordEncrypt 3在encode()方法中可以根据实际的加密方式编写代码。 packageszy.cas。 encrypt; importjava.security.MessageDigest; importorg。 jasig。 cas。 authentication。 handler.PasswordEncoder; /** *@authorcoolszy *@dateJan21,2011 */ publicclassPasswordEncryptimplementsPasswordEncoder { publicStringencode(Stringpassword) { try { MessageDigestalg=MessageDigest。 getInstance(”SHA—1"); alg。 reset(); alg.update(password。 getBytes()); byte[]hash=alg。 digest(); Stringdigest=””; for(inti=0;i length;i++) { intv=hash[i]&0xFF; if(v〈16) digest+=”0"; digest+=Integer.toString(v,16).toUpperCase(); } returndigest; } catch(Exceptione) { e.printStackTrace(); returnpassword; } } } 编写完毕后,建议进行测试,避免错误发生。 然后把该项目导出成jar包,并且把jar包拷贝到D: \apache—tomcat—6。 0.30\webapps\cas\WEB—INF\lib下。 然后修改上面添加的 〈beanid="passwordEncoder" class="org。 jasig。 cas.authentication。 handler。 DefaultPasswordEncoder"〉 〈constructor-argvalue=”MD5”/〉 把class修改为我们的加密类,即 cas.encrypt。 PasswordEncrypt"〉 〈! —— 〈constructor—argvalue="MD5”/> ——> 〈/bean〉 测试,成功. 5修改界面 5.1修改验证通过后显示提示信息的界面 修改D: \apache-tomcat—6。 0.30\webapps\cas\WEB-INF\view\jsp\default\ui\ casGenericSuccess.jsp页面,添加如下内容调转到指定页面 〈% response。 sendRedirect(”http: //10.12.21.139.: 8080/client/index。 action”); %> 5.2定义自己的验证界面 cas给我们提供了一个"default”界面,该界面比较简单,而且也不怎么漂亮,因此我们需要定制自己的验证界面。 下面介绍一下如何设计自己的界面. 1进入D: \apache—tomcat—6。 0.30\webapps\cas\WEB—INF\view\jsp,把default文件夹复制一份在本目录下,这里我把文件夹修改为coolszy. 2进入D: \apache—tomcat—6.0。 30\webapps\cas\WEB-INF\view\jsp\coolszy\ui。 在该目录下你将会看到如下文件: casConfirmView。 jsp 在浏览器跳转到用户想要访问的页面之前如果有警告信息,这个页面将会被显示。 casGenericSuccess.jsp 这个页面一般不会被显示,除非我们直接访问验证服务器的验证界面。 http: //10.12。 21.45: 8080/cas. casLoginView.jsp 重点修改的页面。 这个就是输入验证信息的界面。 casLogoutView.jsp 注销界面 serviceErrorView。 jsp 如果用户想要访问的服务没有使用CAS,这个页面将会显示出来。 注意: 如果我们所有的业务系统都使用了CAS,这个界面则会没有任何作用. 如果想修改界面,我建议我们首先熟悉里面所有的jsp页面。 重点是casLoginView.jsp还有includes目录下的两个文件。 我们在修改时尽量不要修改forms和逻辑标签。 除非我们比较熟悉他们。 如果我们定义的页面中含有样式表,可直接修改D: \apache—tomcat—6.0.30\webapps\cas\themes\default目录下的cas.css文件。 当然我们也可以自己创建一个css文件,个人建议也把文件放到D: \apache-tomcat—6。 0.30\webapps\cas\themes中,可新建一个目录比如coolszy。 接着我们要修改jsp页面中的引用路径。 打开D: \apache—tomcat-6.0.30\webapps\cas\WEB—INF\view\jsp\ coolszy\ui\includes\top。 jsp文件。 找到如下代码: themecode="standard.custom。 css。 file”var="customCssFile"/> 我们需要standard.custom.css.file的值。 该值存在于 D: \apache-tomcat—6。 0.30\webapps\cas\WEB—INF\classes\cas-theme-default.properties文件中。 修改为我们的路径。 引用的图片也需要注意相对路径和绝对路径。 3进入D: \apache-tomcat—6。 0.30\webapps\cas\WEB—INF\classes目录,复制 default_views。 properties,我这里重新命名为coolszy_views.properties.打开该文件,修改页面路径,我这里是把default全部替换为coolszy。 注意: 该目录下存在很多messages_*.properties文件,主要是为了国际化。 我把不需要的语言给删除掉。 同时修改messages_zh_CN。 properties文件中的信息,使得提示信息更加符合我们的需求.这个文件我是在Eclipse中修改的。 我的Eclipse安装了PropertiesEditor插件。 4打开D: \apache-tomcat-6。 0。 30\webapps\cas\WEB—INF\cas.properties文件,把 cas。 viewResolver.basename=default_views 修改为 cas。 viewResolver。 basename=coolszy_views 5启动服务器,测试下效果。 有可能显示原来的界面,可尝试把D: \apache-tomcat—6.0.30\ work\Catalina目录下的文件夹清空掉。 6服务器端超时配置 打开D: \apache—tomcat-6.0.30\webapps\cas\WEB-INF\spring-configuration\目录中的 applicationContext.xml文件,修改如下部分信息: cas.util。 HttpClient” p: readTimeout="5000” p: connectionTimeout="5000”/> 修改我们所需要的超时时间. 7HTTPS验证配置 7.1普通证书 注: 如果电脑上没有设置环境变量JAVA_HOME,请设置完毕后再操作。 7.1.1创建key 1进入cmd。 输入“cd\”来到系统根目录 2输入命令 keytool—genkey-aliascasserver-keyalgRSA—keypasschangeit-storepasschangeit—keystoreserver.keystore—validity3600 注: 参数-validity指证书的有效期(天),缺省有效期只有90天。 其它参数含义请在cmd上输入keytool回车即可看到。 在生成证书时会让你输入信息,其中“您的名字与姓氏是什么? ”这个内容必须填写cas服务器所对应的域名或者服务器的计算机名,我这里使用计算机名: 这样在我们的C盘根目录下生成一个名为server。 keystore的证书。 7.1.2将证书导入的JDK的证书信任库中 1导出证书,命令如下: keytool-export—trustcacerts-aliascasserver-fileserver。 cer—keystoreserver。 keystore-storepasschangeit 注: server.keystore为我们上一步生成的证书. 2导入到证书信任库,命令如下: keytool—import-trustcacerts-aliascasserver-fileserver。 cer-keystore"C: \ProgramFiles\Java\jdk1.6。 0_21\jre\lib\security\cacerts”-storepasschangeit 注: JDK的路径根据你电脑安装的位置进行修改.另外如果你电脑中安装的JRE,还应执行如下命令: keytool-import—trustcacerts—aliascasserver—fileserver。 cer—keystore"C: \ProgramFiles\Java\jre6\lib\security\cacerts”—storepasschangeit 3顺便补充另外两个命令 列出所导入证书 keytool—list—v—keystore"C: \ProgramFiles\Java\jdk1.6。 0_21\jre\lib\security\cacerts" 删除存在的证书 Keytool-delete-trustcacerts—aliascasserver —keystore ”C: \ProgramFiles\Java\jdk1.6。 0_21\jre\lib\security\cacerts"—storepasschangeit 注: 如果提示输入密码,则输入: changeit 7.1.3配置TOMCAT服务器 1打开D: \apache-tomcat—6.0。 30\conf\server。 xml文件,找到: 1”SSLEnabled="true" maxThreads=”150"scheme=”https"secure=”true” clientAuth="false"sslProtocol="TLS"/〉 该内容默认是被注视掉.我们把该段修改为: http11。 Http11NioProtocol" port="8443"minSpareThreads=”5"maxSpareThreads="75" enableLookups="true"disableUploadTimeout=”true" acceptCount="100"maxThreads="200" scheme="https”secure="true”SSLEnabled="true" clientAuth=”false"sslProtocol="TLS” keystoreFile="C: \server.keystore" keystorePass=”changeit"/> 其中keystoreFile为已经生成的服务器证书的地址 keystorePass为自定义的服务器证书的密码 7.1.4测试 打开浏览器输入 https: //10.12.21.45: 8443/cas/ 如果出现如下警告信息,点击确定. 7.2使用CA证书 在一些企业中会使用CA证书进行验证,本节讲解如何使用CA证书. 7.2.1准备工作 使用如下命令把上一些的证书从CAS验证服务器和业务服务器上的JRE中删除 Keytool—delete—trustcacerts—aliascasserver -keystore "C: \ProgramFiles\Java\jdk1。 6.0_21\jre\lib\security\cacerts”-storepasschangeit Keytool—delete-trustcacerts-aliascasserver-keystore”C: \ProgramFiles\Java\jre6\lib\security\cacerts”—storepasschangeit 7.2.2创建key 在cas验证服务器输入命令 keytool-genkey-aliaswww.coolszy。 com—keyalgRSA—keysize2048-keypasschangeit—storepasschangeit—keystorecoolszy.jks-validity3600 其中www。 coolszy。 com为CAS验证服务器的对应的域名。 在生成证书时会让你输入信息,其中“您的名字与姓氏是什么? ”这个内容同上: 这样在我们的C盘根目录下生成一个名为coolszy。 jks的文件。 7.2.3创建证书请求 命令: keytool—certreq-alias—filecoolszy.csr-keystorecoolszy.jks-keypasschangeit—storepasschangeit 7.2.4申请CA证书 1进入公司的CA证书申请网站 2点击“申请一个证书”--“高级证书申请”-—“使用base64编码的CMC或PKCS#10文件提交一个证书申请,或使用base64编码的PKCS#7文件续订证书申请。 "—— “浏览要插入的文件”--选择“C: \coolszy.csr"——“提交”——“选择Base64编码"-—“下载证书链”——保存certnew.p7b。 7.2.5导入证书 keytool—import-trustcacerts-aliaswww。 coolszy。 com—filec: \certnew。 p7b—keystorecoolszy。 jks-keypasschangeit-storepasschangeit 7.2.6CAS验证服务器端Tomcat配置 修改server.xml,开启开启https; apache.coyote.http11.Http11NioProtocol" SSLEnabled=”true" maxThreads="150”scheme=”https"secure=”true” clientAuth="false”ssl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAS 配置 手册