cas单点登录服务器的部署以及使用

上传人:第*** 文档编号:31318671 上传时间:2018-02-06 格式:DOCX 页数:21 大小:656.12KB
返回 下载 相关 举报
cas单点登录服务器的部署以及使用_第1页
第1页 / 共21页
cas单点登录服务器的部署以及使用_第2页
第2页 / 共21页
cas单点登录服务器的部署以及使用_第3页
第3页 / 共21页
cas单点登录服务器的部署以及使用_第4页
第4页 / 共21页
cas单点登录服务器的部署以及使用_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《cas单点登录服务器的部署以及使用》由会员分享,可在线阅读,更多相关《cas单点登录服务器的部署以及使用(21页珍藏版)》请在金锄头文库上搜索。

1、CAS 单点登录服务器的部署以及使用一 准备 CAS 服务器端和客户端1. Windows 下a) cas 服务器端压缩包 cas-server-3.4.12-release.zipb) cas 客户端压缩包 cas-client-3.2.1-release.zip官网有下载 http:/www.cas.org/2. linux 下a) cas 服务器端压缩包 cas-server-3.4.12-release.tar.gzb) cas 客户端压缩包 cas-client-3.2.1-release.tar.gz官网有下载 http:/www.cas.org/二 准备架包Oracle 数据库驱

2、动架包 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) 生成服务器端证书

3、Linux 下命令:keytool -genkey -alias mycas -keyalg RSA -keystore /home/XXX/cas/key/mycas.keystorewindows 下命令:keytool -genkey -alias mycas -keyalg RSA -keystore Dcaskeymycas.keystore有效期默认是三个月,若需要修改,增加一个参数,-validity,单位:天b) 导出证书Linux 下命令:keytool -export -trustcacerts -file /home/XXX/cas/key/mycas.crt -alia

4、s mycas -keystore /home/XXX/cas/key/mycas.keystorec) 导入证书到客户端 JDK Linux 下命令: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_HOMEjrelibsecuritycacer

5、ts -file D:caskeymycas.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

6、_HOMEjrelibsecuritycacerts -storepass changeite) 生成 jssecacerts 文件下载 InstallCert.java 这个 java 源文件网址: http:/ java 文件javac InstallCert.javajava InstallCert localhost:8080将生成的 jssecacerts 文件复制到$JAVA_HOMEjrelibsecurity 目录下f) 开启服务器端 Tomcat 的 SSLg) 重启电脑登陆测试服务器端,地址为 https:/localhost:8845/cas,登录用户名密码相同h) 查看

7、证书keytool -list -keystore /home/ligang/jdk1.6.0_26/jre/lib/security/cacerts -storepass changeit4. 修改 CAS 服务器配置,使其可以与项目结合a) 进入解压出来的 cas 目录的 WEB-INF 下,b) 将 cas-server-3.4.12-releasemodules 下的 cas-server-support-jdbc-3.4.12.jar 和 ojdbc6.jar 复制到 WEB-INFlib 下c) 使用编辑工具打开 deployerConfigContext.xmld) 有三种登录配

8、置,默认是SimpleTestUsernamePasswordAuthenticationHandler,用户名密码相同即可,QueryDatabaseAuthenticationHandler 采用在配置文件中指定 SQL 语句的方式,SearchModeSearchDatabaseAuthenticationHandler是可以在类中写方法的方式。e) 找到 authenticationManager 这个 bean 下的节点,注释掉其中SimpleTestUsernamePasswordAuthenticationHandler 配置。然后重新配置为如图:f) 在 authenticat

9、ionManager 配置 bean 的同级下,配置 md5 密码加密g) 配置数据源与密码加密 bean 同级下配置数据源 casDataSourceoracle.jdbc.driver.OracleDriver jdbc:oracle:thin:10.1.20.26:1521:pps PPS32_OA_DEV PPS32_OA_DEV h) 重新启动 tomcat,使用数据库的姓名和密码登陆,这样就配置成功了, 四 Linux 下 CAS 开发依赖工具1. 给系统安装 maven 构建工具a) 去 maven 官方下载 apache-maven-3.0.4-bin.tar.gzb) 在$

10、下解压 apache-maven-3.0.4-bin.tar.gz,生成 apache-maven-3.0.4 文件夹c) 配置环境变量1. 执行命令 sudo gedit /etc/profile 打开环境变量配置文件2. 插入export M2_HOME=/home/ligang/apache-maven-3.0.4export PATH=$PATH:$M2_HOME/bin3. 在终端中输入 sudo source /etc/profile4. 验证安装是否成功执行命令 mvn version 执行结果如下若结果的结构不相同,可能是环境便令配置不对,或者重启系统再试2. 开发 maven

11、 项目a) 给 eclipse 安装 maven 插件b) 将 cas-server-3.4.12-release 复制到 eclipse 的 workspace目录下c) 使用 mvn 转换 cas-server 项目在终端中进入 cas-server-3.4.12-release执行命令:mvn eclipse:eclipse,传唤成 eclipse 项目d) 在 eclipse 中导入 maven 项目分两次导入下图中的两个红线圈中的项目e) 在 eclipse 中创建 maven 项目f) 起名为 cas-server-my 构建 cas-server-my 项目g) 编写 pom.x

12、ml复制 cas-server-support-jdbc 下的 pom.xml 到 cas-server-my 项目目录下修改 pom.xml 中的内容五 开发单点登录处理器为了更好的与项目结合,我们需要重写 cas-server-support-jdbc-3.4.12.jar 和cas-server-core-3.1.12.jar 下的一些类,为了不将原始的 cas 类破坏,我们需要重新创建一个项目,使用 mvn package 将项目打成 jar 包,放入 cas-server-webapp 项目的WEB-INF/lib 下。1. 创建需要的重写的类a) 创建登录信息封装类 com.my.

13、 MyCredentials该类实现 Credentials 接口,该类有三个属性,登录用户名、登录密码、以及需要控制用户登录权限的登录域名,如图为了方便查看传入值,我们重写 MyCredentials 的 toString()方法,cas服务器会自动调用此方法,在日志中输出b) 创建类 com.my.AbstractBaseAuthenticationHandler 抽象类,继承 org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler,此类主要是用作处理封装类

14、的该类是重写 cas-server-core 项目下的AbstractUsernamePasswordAuthenticationHandler 类,如图修改其中的 UsernamePasswordCredentials 为我们创建的MyCredentials,修改 authenticateUsernamePasswordInternal 方法,改名为 loginAuthenticate,参数修改为 MyCredentials,其他的都与 AbstractUsernamePasswordAuthenticationHandler 相同。c) 创建 com.my.AbstractJdbcAuth

15、enticationHandler 抽象类,该类继承 com.my.AbstractBaseAuthenticationHandler 抽象类,此类主要是结构配置文件中传入的数据源,方便调用在程序中使用 spring jdbc 进行数据库操作此类重写了 cas-server-support-jdbc 项目中的AbstractJdbcUsernamePasswordAuthenticationHandler 类,如图此类中的内容基本没有改变,copy 过来就行了。d) 创建 com.my.MyMetaDataPopulator,该类实现了org.jasig.cas.authentication.

16、AuthenticationMetaDataPopulator接口在 populateAttributes 方法中,只要验证用户登录信息封装类类型是否与自定义封装类型相同就可以了。e) 创建 com.my.MyCredentialsToPrincipalResolver 类,该类实现了org.jasig.cas.authentication.principal.CredentialsToPrincipalResolver 接口,此类用途是解析用户登录信息f) 最后创建 com.my.MyAuthenticationHandler 类,该类继承自com.my.AbstractJdbcAuthenticationHandler,此类主要用作单点登录处理2. 修改 webapp 相关配置a) 展开

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号