分享
分销 收藏 举报 申诉 / 33
播放页_导航下方通栏广告

类型CAS配置基础手册专业资料.doc

  • 上传人:w****g
  • 文档编号:2954951
  • 上传时间:2024-06-12
  • 格式:DOC
  • 页数:33
  • 大小:400.54KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    CAS 配置 基础 手册 专业 资料
    资源描述:
    CAS配备手册 1 准备工具 1 cas-server-3.4.5-release.zip: 2 cas-client-3.2.0-release.zip: 2 配备环境 CAS 服务器信息 计算机名:IMC-Server 操作系统:Windows SP2 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 3 CAS验证服务器配备 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。在浏览器中输入: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文献 在<bean id="authenticationManager"节点上面添加数据源信息: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value> oracle.jdbc.driver.OracleDriver </value> </property> <property name="url"> <value> jdbc:oracle:thin:@10.12.21.140:1521:orcl </value> </property> <property name="username"> <value>scott</value> </property> <property name="password"> <value>tiger</value> </property> </bean> 在该文献中搜索“SimpleTestUsernamePasswordAuthenticationHandler” <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/> 这是cas提供最简朴验证方式,即顾客名和密码相等即可登录成功。 现假设咱们登录顾客名和密码存在于t_login表中,信息如下: ID USERNAME PASSWORD 1 coolszy 123456 把上面bean给注销掉,添加如下信息: <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="sql" value="select password from t_login where username=?" /> <property name="dataSource" ref="dataSource" /> </bean> 重启服务器,测试。固然咱们还可以指定表和字段 <bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default"> <property name="dataSource" ref="dataSource" /> <property name="tableUsers" value="t_login" /> <property name="fieldUser" value="username"/> <property name="fieldPassword" value="password"/> </bean> 4.2 密码已密文存在数据库中 以上配备只适合密码已明文方式存储在数据库中,但是实际中咱们密码都是通过加密。下面演示下如果使用MD5加密密码。 一方面配备MD5,该配备信息放在数据源配备下面。 <bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="MD5"/> </bean> 然后修改上面数据库验证配备,添加密码加密方式,修改后如下: <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="sql" value="select password from t_login where username=?" /> <property name="dataSource" ref="dataSource" /> <property name="passwordEncoder" ref="passwordEncoder"/> </bean> 4.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 3 在encode()办法中可以依照实际加密方式编写代码。 package szy.cas.encrypt; import java.security.MessageDigest; import org.jasig.cas.authentication.handler.PasswordEncoder; /** * @author coolszy * @date Jan 21, */ 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 = hash[i] & 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.30\webapps\cas\WEB-INF\lib下。然后修改上面添加 <bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="MD5"/> </bean> 把class修改为咱们加密类,即 <bean id="passwordEncoder" class="szy.cas.encrypt.PasswordEncrypt"> <!-- <constructor-arg value="MD5"/> --> </bean> 测试,成功。 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\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文献。找到如下代码: <spring:theme code="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文献,修改如下某些信息: <bean id="httpClient" class="org.jasig.cas.util.HttpClient" p:readTimeout="5000" p:connectionTimeout="5000"/> 修改咱们所需要超时时间。 7 HTTPS验证配备 7.1 普通证书 注:如果电脑上没有设立环境变量JAVA_HOME,请设立完毕后再操作。 7.1.1 创立key 1 进入cmd。输入“cd\”来到系统根目录 2 输入命令 keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 注:参数 -validity 指证书有效期(天),缺省有效期只有90天。其他参数含义请在cmd上输入keytool 回车即可看到。 在生成证书时会让你输入信息,其中“您名字与姓氏是什么?”这个内容必要填写cas服务器所相应域名或者服务器计算机名,我这里使用计算机名: 这样在咱们C盘根目录下生成一种名为server.keystore证书。 7.1.2 将证书导入JDK证书信任库中 1 导出证书,命令如下: keytool -export -trustcacerts -alias casserver -file server.cer -keystore server.keystore -storepass changeit 注:server.keystore 为咱们上一步生成证书。 2 导入到证书信任库,命令如下: keytool -import -trustcacerts -alias casserver -file server.cer -keystore "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" -storepass changeit 注:JDK途径依照你电脑安装位置进行修改。此外如果你电脑中安装JRE,还应执行如下命令: keytool -import -trustcacerts -alias casserver -file server.cer -keystore "C:\Program Files\Java\jre6\lib\security\cacerts" -storepass changeit 3 顺便补充此外两个命令 列出所导入证书 keytool -list -v -keystore "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" 删除存在证书 Keytool -delete -trustcacerts -alias casserver  -keystore  "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" -storepass changeit 注:如果提示输入密码,则输入:changeit 7.1.3 配备TOMCAT服务器 1 打开D:\apache-tomcat-6.0.30\conf\server.xml 文献,找到: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> 该内容默认是被注视掉。咱们把该段修改为: <Connector protocol="org.apache.coyote.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 测试 打开浏览器输入 :8443/cas/ 如果浮现如下警告信息,点击拟定。 7.2 使用CA证书 在某些公司中会使用CA证书进行验证,本节解说如何使用CA证书。 7.2.1 准备工作 使用如下命令把上某些证书从CAS验证服务器和业务服务器上JRE中删除 Keytool -delete -trustcacerts -alias casserver  -keystore  "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" -storepass changeit Keytool -delete -trustcacerts -alias casserver -keystore "C:\Program Files\Java\jre6\lib\security\cacerts" -storepass changeit 7.2.2 创立key 在cas验证服务器输入命令 keytool -genkey -alias -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore coolszy.jks -validity 3600 其中.com为CAS验证服务器相应域名。 在生成证书时会让你输入信息,其中“您名字与姓氏是什么?”这个内容同上: 这样在咱们C盘根目录下生成一种名为coolszy.jks文献。 7.2.3 创立证书祈求 命令: keytool -certreq -alias -file coolszy.csr -keystore coolszy.jks -keypass changeit -storepass changeit 7.2.4 申请CA证书 1进入公司CA证书申请网站 2点击“申请一种证书”——“高档证书申请”——“使用 base64 编码 CMC 或 PKCS #10 文献提交 一种证书申请,或使用 base64 编码 PKCS #7 文献续订证书申请。”—— “浏览要插入文献”——选取“C:\coolszy.csr”——“提交”——“选取Base 64 编码”——“下载证书链”——保存certnew.p7b。 7.2.5 导入证书 keytool -import -trustcacerts -alias -file c:\certnew.p7b -keystore coolszy.jks -keypass changeit -storepass changeit 7.2.6 CAS验证服务器端Tomcat配备 修改server.xml,启动启动https; <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keyAlias="" keystoreFile="C:\coolszy.jks" keypass="changeit" /> 8 业务系统配备 8.1 JAVA版本 8.1.1 添加jar包 解压cas-client-3.2.0-release.zip到磁盘上,我这里放在D盘中。并且把 D:\cas-client-3.2.0\modules目录中所有jar包拷贝到咱们业务系统中。注意删除重复jar包。 8.1.2 导入证书 a.普通证书 咱们需要把CAS验证服务器上生成server.cer证书导入到咱们业务系统JDK上。 keytool -import -trustcacerts -alias casserver -file server.cer -keystore "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" -storepass changeit b.使用CA证书 1进入公司CA证书申请网站 2 点击“下载一种 CA 证书,证书链或 CRL” 3 编码方式选取“Base 64” 4 点击“下载 CA 证书”,保存到磁盘上 5 在命令控制台执行如下命令 keytool -import -keystore "C:\Program Files\Java\jre6\lib\security\cacerts" -file c:\certnew.cer -alias -storepass changeit keytool -import -keystore "C:\Program Files\Java\jdk1.6.0_21\jre\lib\security\cacerts" -file c:\certnew.cer -alias -storepass changeit 注意:依照JDK和JRE安装途径进行相应修改,如果没有安装JRE,则第一条命令不需要执行。 8.1.3 配备业务系统web.xml文献 在业务系统web.xml中添加如下配备信息 <!-- CAS 客户端配备 --> <filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class> org.jasig.cas.client.authentication.AuthenticationFilter </filter-class> <!-- CAS验证服务器地址,有域名填写域名 --> <init-param> <param-name>casServerLoginUrl</param-name> <param-value> https://10.12.21.46:8443/cas/login </param-value> </init-param> <init-param> <param-name>renew</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>gateway</param-name> <param-value>false</param-value> </init-param> <!-- 客户端应用服务器地址--> <init-param> <param-name>serverName</param-name> <param-value>http://10.12.21.140:8080</param-value> </init-param> </filter> <!--负责Ticket校验--> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter </filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>https://IMC-Server:8443/cas/</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://10.12.21.140:8080</param-value> </init-param> <init-param> <param-name>useSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>redirectAfterValidation</param-name> <param-value>true</param-value> </init-param> </filter> <filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class> org.jasig.cas.client.util.HttpServletRequestWrapperFilter </filter-class> </filter> <filter> <filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class> org.jasig.cas.client.util.AssertionThreadLocalFilter </filter-class> </filter> <filter-mapping> <filter-name>CAS Authentication Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Assertion Thread Local Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 注:蓝色某些依照实际状况做相应修改。红色某些高亮IMC-Server是咱们在生成证书时填写“您名字与姓氏是什么?”。8433为Tomcat上SSL端口,在在现实中咱们普通使用80端口。如果使用80端口,则端标语不需要写在配备文献上。 8.1.4 发布系统,测试。 咱们访问业务系统地址::8080/casclient/ 如果浮现如下警告信息,点击“继续浏览此网站(不推荐)。” 然后咱们输入顾客名和密码,登录成功。 8.2 C#版本 9 获取登录顾客信息 9.1 获得登录顾客名 在进行认证时,咱们需要输入顾客名和密码。怎么才干获得咱们输入顾客名呢?通过下面这两句代码,咱们就可以得到顾客名信息。 AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal(); String username = principal.getName();//获取顾客名 9.2 获取更全面顾客信息 之前咱们假设顾客验证信息存储在t_login表中,表构造如下: ID USERNAME PASSWORD 1 coolszy 123456 这张表中有三个字段。假设当前还存在此外一张表t_user。该表记录了顾客详细信息。咱们可以通过上一节办法获取username值到t_user表中进行查询,这样咱们就可以获得更详细顾客信息。 但是如果咱们t_login表构造如下: ID USERNAME PASSWORD NAME 1 coolszy 123456 张三 在登录成功后,咱们但愿在页面上显示NAME值,这该怎么获取呢? 1一方面,打开D:\apache-tomcat-6.0.30\webapps\cas\WEB-INF\deployerConfigContext.xml文献 找到如下配备信息: <!-- Bean that defines the attributes that a service may return. This example uses the Stub/Mock version. A real implementation may go against a database or LDAP server. The id should remain "attributeRepository" though. --> <bean id="attributeRepository" class="org.jasig.services.persondir.support.StubPersonAttributeDao"> <property name="backingMap"> <map> <entry key="uid" value="uid" /> <entry key="eduPersonAffiliation" value="eduPersonAffiliation" /> <entry key="groupMembership" value="groupMembership" /> </map> </property> </bean> 注意看一下上面注释信息。咱们把该段信息修改如下: <bean class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao"
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:CAS配置基础手册专业资料.doc
    链接地址:https://www.zixin.com.cn/doc/2954951.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork