1准备工具CAS配备手册1cas-server-3.4.5-release.zip:2cas-client-3.2.0-release.zip:2配备环境CAS服务器信息计算机名:IMC-Server操作系统:WindowsSP2JDK:jdk1.6.0_21Tomcat:apache-tomcat-6.0.30浏览器:IE6IP地址:10.12.21.45CAS客户端信息IP地址:10.12.21.140Oracle数据库信息IP地址:10.12.21.140顾客名:scott密码:tiger3CAS验证服务器配备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.war2运营Tomcat。在浏览器中输入:8080/cas,显示登录界面。输入顾客名和密码(顾客beanid=dataSourceclass=org.springframework.jdbc.datasource.DriverManagerDataSourcepropertyname=driverClassNamevalueoracle.jdbc.driver.OracleDriver/value/propertypropertyname=urlvaluejdbc:oracle:thin:@10.12.21.140:1521:orcl/value/propertypropertyname=usernamevaluescott/value/propertypropertyname=passwordvaluetiger/value/property/beanbeanclass=org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler/名和密码相等即可),登录成功。这样最简朴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节点上面添加数据源信息:在该文献中搜索“SimpleTestUsernamePasswordAuthenticationHandler”这是cas提供最简朴验证方式,即顾客名和密码相等即可登录成功。现假设咱们登录顾客名和密码存在于t_login表中,信息如下:beanclass=org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandlerpropertyname=sqlvalue=selectpasswordfromt_loginwhereusername=?/propertyname=dataSourceref=dataSource//beanbeanclass=org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandlerabstract=falselazy-init=defaultautowire=defaultpropertyname=dataSourceref=dataSource/propertyname=tableUsersvalue=t_login/propertyname=fieldUservalue=username/propertyname=fieldPasswordvalue=password//beanbeanid=passwordEncoderclass=org.jasig.cas.authentication.handler.DefaultPasswordEncoderconstructor-argvalue=MD5//beanbeanclass=org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandlerpropertyname=sqlvalue=selectpasswordfromt_loginwhereusername=?/propertyname=dataSourceref=dataSource/propertyname=passwordEncoderref=passwordEncoder//bean把上面bean给注销掉,添加如下信息:重启服务器,测试。固然咱们还可以指定表和字段4.2密码已密文存在数据库中以上配备只适合密码已明文方式存储在数据库中,但是实际中咱们密码都是通过加密。下面演示下如果使用MD5加密密码。一方面配备MD5,该配备信息放在数据源配备下面。然后修改上面数据库验证配备,添加密码加密方式,修改后如下:4.3使用自己编写加密类上面简介了密码采用MD5加密配备方式,下面简介下如果使用咱们自己编写加密类。1新建一种Java项目,cas-server-core-3.4.5.jar包,2新建一种Java类,实现org.jasig.cas.authentication.handler.PasswordEncoder接口中publicStringencode(Stringarg0)办法,这是用来对输入密码进行加密,我这里命名为:ID1USERNAMEcoolszyPASSWORD123456packageszy.cas.encrypt;importjava.security.MessageDigest;importorg.jasig.cas.authentication.handler.PasswordEncoder;/***@authorcoolszy*@dateJan21,*/publicclassPasswordEncryptimplementsPasswordEncoder{publicStringencode(Stringpassword){try{MessageDigestalg=MessageDigest.getInstance(SHA-1);alg.reset();alg.update(password.getBytes());byte[]hash=alg.digest();Stringdigest=;for(inti=0;ihash.length;i++){intv=hash[i]&0xFF;if(v16)digest+=0;digest+=Integer.toString(v,16).toUpperCase();}returndigest;}catch(Exceptione){e.printStackTrace();PasswordEncrypt3在encode()办法中可以依照实际加密方式编写代码。beanid=passwordEncoderclass=org.jasig.cas.authentication.handler.DefaultPasswordEncoderconstructor-argvalue=MD5//beanbeanid=passwordEncoderclass=szy.cas.encrypt.PasswordEncrypt!--constructor-argvalue=MD5/--/bean编写完毕后,建议进行测试,避免错误发生。然后把该项目导出成jar包,并且把jar包拷贝到D:\apache-tomcat-6.0.30\webapps\cas\WEB-INF\lib下。然后修改上面添加把class修改为咱们加密类,即测试,成功。5修改界面5.1修改验证通过后显示提示信息界面修改D:\apache-tomcat-6.0.30\webapps\cas\WEB-INF\view\jsp\default\ui\casGenericSuccess.jsp页面,添加如下内容调转到指定页面%response.sendRedirect(.: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\u。i在该目录下returnpassword;}}}spring:themecode=standard.custom.css.filevar=customCssFile/你将会看到如下文献:casConfirmView.jspcasGenericSuccess.jspcasLoginView.jspcasLogoutView.jspserviceErrorView.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文献。找到如下代码:咱们需要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.pr