已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CAS 示例环境部署及配置示例环境部署及配置 一 一 示例说明示例说明 在本示例中将使用 cas server 3 5 0 和 cas client 3 2 1 搭建一个 SSO 测试环境 在同一台机器上安装 3 个 tomcat 分别部署一个 cas server 和两个 cas client 这三个应用使用不同的域名访问 通过配置 hosts 文件实现多个域名 配置完 成之后 应达到如下效果 1 首先访问 app1 此时需要跳转到 cas 登录页面 要求用户进行登录 2 输入正确的用户名和密码 登录成功之后自动跳转到 app1 而且可以获取 到用户的登录信息 3 在同一个浏览器中直接访问 app2 此时不需要再次用户登录即可正常访问 而且可以获取到登录用户的信息 4 反复访问 app1 和 app2 只要不关闭浏览器 就可以一直正常访问并且可以 获取到用户信息 5 在浏览器地址栏输入 CAS 登出的路径 8443 cas logout 系统提示成功注销 6 此时无论访问 app1 还是 app2 都会跳转到 cas 登录页面 要求用户重新登 录 二 二 部署文件清单部署文件清单 应用服务器中间件Tomcat6 0 23 符合 Servlet2 3 以上标准的 J2EE 容器 JDKJDK1 6 CAS SERVER 部署包cas server 3 5 0 war 可以从 http www jasig org cas 获取 CAS CLIENT 部署包使用 CAS 做单点登录的应用 三 三 准备部署环境准备部署环境 本文演示过程在同一个机器上的 也可以在三台实体机器或者三个的虚拟 机上 根据演示需求 我们需要准备三个不同的域名 分别对应 cas server 和 两个 cas 客户端应用 用修改 hosts 文件的方法添加域名最简单方便 这个非 常重要 在文件 c windows system32 drivers etc hosts 文件中添加三条 127 0 0 1 127 0 0 1 127 0 0 1 其中 对应部署 cas server 的 tomcat 如果这个 tomcat 使用 https 协议 则这个虚拟域名还用于证书生成 另外两个域名对应两个不同的客户端 应用 安装 JDK 配置 JAVA HOME PATH 环境变量 在 D 盘根目录复制三个 TOMCAT 文件夹 分别命名为 tomcat for cas tomcat for client 1 tomcat for client 2 这个详细过程就不再详细描述 四 四 CAS SERVER 部署及通用配置部署及通用配置 3 1CAS SERVER 部署部署 cas server xxxx war 的下载地址为 http www jasig org cas download 本文 以 cas server 3 5 0 zip 为例 解压提取 cas server 3 5 0 modules cas server webapp 3 5 0 war 文件 把此文件复制到 tomcat for cas webapps 目录并解压到 cas 文件夹 如果不准备对 CAS 的文件做修改 则可以直接将 WAR 文件修改为 cas war 即可 启动 tomcat 此 tomcat 的默认监听端口为 8090 在浏览器地址栏输入 8090 cas 按回车键后地址栏会自动变为 8090 cas login 并显示如下界面 在登录窗口中 用户名和密码都输入 admin 实际上可以输入任何值 只要用 户名和密码一致 就可以成功登录 这个是 CAS 的默认验证规则 然后点击登 录 会出现如下界面 至此 CAS SERVER 的应用已经部署成功 接下来就是根据情况进行配置 3 2CAS SERVER 通用配置通用配置 1 配置 CAS SERVER 节点名称 在文件 CAS WEB INF cas properties 中 host name 的值 比如修改为 cas01 2 去除登录页面的 Non secure Connection 提示 如果部署 CAS SERVER 的 TOMCAT 没有启用 HTTPS 或者没有通过 HTTPS 端口 访问 则会出现如下提示 想要去掉这个提示 只能修改登录页面 五 五 CAS 客户端的部署及配置客户端的部署及配置 4 1客户端应用的部署客户端应用的部署 按照常规方式部署使用 CAS 作为单点登录服务器的应用 并测试此应用是 否能正常访问 我们使用的是一个测试应用 只有一个 jsp 页面 将这个应用 放到准备好的 tomcat for client 2 webapps 下面即可 访问应用的跟目录 5090 c2 如果显示正常的页面即表示应用部署成功 我 的测试应用显示如下信息 4 2复制复制 CAS CLIENT 需要的需要的 JAR 文件文件 复制 CAS 核心文件和其所依赖的 JAR 不同版本的 CAS 需要的 JAR 文件可能 稍微有所不同 本例使用的是 cas client core 3 2 1 需要的 JAR 文件如下所示 4 3配置配置 web xml 文件文件 有关 cas client 的 web xml 修改的详细说明见官网介绍 https wiki jasig org display CASC Configuring the JA SIG CAS Client for Java in the web xml 我们这里只介绍将会用到的最简单的配置 将如下内容复制到 web xml 中 需要注意的是 SingleSignOutFilter 的映射一定要写在其他过滤器的最前面 至少 是过滤器 CAS Authentication Filter 的前面 然后根据实际情况修改参数即可 如下所示突出显示的部分 org jasig cas client session SingleSignOutHttpSessionListener CAS Authentication Filter org jasig cas client authentication AuthenticationFilter casServerLoginUrl 8090 cas login serverName 5090 CAS Validation Filter org jasig cas client validation Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix 8090 cas serverName 5090 useSession true redirectAfterValidation false HttpServletRequestWrapperFilter org jasig cas client util HttpServletRequestWrapperFilter SingleSignOutFilter org jasig cas client session SingleSignOutFilter SingleSignOutFilter jsp CAS Authentication Filter jsp CAS Validation Filter jsp HttpServletRequestWrapperFilter jsp 4 4部署结果测试部署结果测试 配置完成后 启动 CAS SERVER 所在的 tomcat 和 CAS 客户端所在的 tomcat 然后打开浏览器输入网址 5090 c2 此时浏览器 会自动进行跳转到 CAS 的登录页面 地址栏会显示如下的地址 8090 cas login service http 3A 2F 2F 3A 5090 2Fc2 2F 同时会看到如下所示的登录界面 在登录窗口中 用户名和密码都输入 admin 然后点击登录 系统会自动跳转 到登录之前我们要访问的地址 出现如下界面 至此 一个简单的 CAS 测试环境就搭建成功了 六 六 为为 CAS SERVER 配置配置 HTTPS 5 1获取安全证书获取安全证书 通常可以从一些安全机构申请安全证书 但是要支付一定的费用 在本试 验中 我们使用 JDK 自带的工具 keytool 生成一个证书 生成证书的命令为 keytool genkey alias cas keyalg RSA keysize 1024 validity 730 keystore d temp cas keystore 在上面的命令行中 突出显示的部分为需要修改的部分 其他参数可以默 认 也可以参照 keytool 的参数说明进行修改 其中参数 alias 指定了证书的别 名 以后对证书的操作会用到此名称 我们这里设置为 cas keystore 指定了证 书存在磁盘上的文件路径 即我们需要将生成的证书存放在哪里 创建证书的过程如下所示 需要注意的是途中画红方框的地方 这个值需 要与访问 cas 时的域名或者 cas 所在的计算机名保持一致 最后一个密码和 keystore 的密码保持一致即可 密码是 casserver 5 2配置配置 CAS SERVER 使用的使用的 TOMCAT 默认情况下 tomcat 是没有开启 https 端口的 因此需要在 TOMCAT conf server xml 中进行手动配置 首先找到如下代码的位置 在配置文件中添加红框中所示的代码 其中 keystoreFile 为我们生成的证书文件 的存放路径 keystorePass 为生成证书时输入的密码 本实验中我把证书文件复 制到了 server xml 的目录下 5 3通过通过 HTTPS 访问访问 CAS 应用应用 在浏览器中输入 8443 cas 出现如下所示的界面 点击 继续浏览此网站 即可跳转到我们熟悉的登录界面 此时你会发现 那 个令人讨厌的 Non secure Connection 提示也没有了 在登录窗口中 用户名和密码都输入 admin 实际上可以输入任何值 只要用 户名和密码一致 就可以成功登录 这个是 CAS 的默认验证规则 然后点击登 录 会出现如下界面 5 4修改修改 CAS 客户端的配置客户端的配置 将 CAS 客户端的 web xml 中需要配置 CAS SERVER URL 的地方做对应的修改 本例中 应将过滤器 CAS Authentication Filter 的参数 casServerLoginUrl 的值由 8090 cas login 修改为 8443 cas login 将过滤器 CAS Validation Filter 的参数 casServerUrlPrefix 的值由 8090 cas 修改为 8443 cas 修改完配置文件之后 重新启动 tomcat 访问地址 5090 c2 浏览器依然会自动跳转到登录页面 但是当输 入完用户名和密码 点击登录之后 就会出现如下的错误页面 上图对应的错误信息如下 java lang RuntimeException ssl SSLHandshakeException sun security validator ValidatorException PKIX path building failed sun security provider certpath SunCertPathBuilderException unable to find valid certification path to requested target org jasig cas client util CommonUtils getResponseFromServer C ommonUtils java 341 org jasig cas client util CommonUtils getResponseFromServer C ommonUtils java 305 org jasig cas client validation AbstractCasProtocolUrlBasedTi cketValidator retrieveResponseFromServer AbstractCasProtocolUrlBasedT icketValidator java 50 org jasig cas client validation AbstractUrlBasedTicketValidat or validate AbstractUrlBasedTicketValidator java 207 org jasig cas client validation AbstractTicketValidationFilte r doFilter AbstractTicketValidationFilter java 169 org jasig cas client authentication AuthenticationFilter doFi lter AuthenticationFilter java 116 出现这个错误的直接原因就是因为 JVM 没有找到访问 时所需要 的安全证书 现在出现这个错误是正常的 因为我们还没有将安全证书导入到 JVM 的证书库中 如果在以后的使用过程中出现这个错误 可以通过 keytool 的 list 命令查看 JVM 的证书库中是否有对应的证书 5 5为运行为运行 CAS CLIENT 的的 JVM 设置安全证书设置安全证书 CAS 客户端在验证时 会从后台通过代码访问 CAS SERVER 此时是通过 HTTPS 进行访问的 因此运行 CAS 客户端的 JVM 会在 JVM 的证书库中查找与访 问的域名对应的证书 然后使用此证书与 CAS SERVER 建立会话 因此我们要告 诉 JVM 到哪里获取安全证书 有两种方法可以达到这个目的 一个方法是在启 动 TOMCAT 的时候为 JVM 指定证书的位置和访问密码 另一个方法是将安全证 书导入到 JVM 的默认证书库中 1 为 为 JVM 指定可信证书库的位置指定可信证书库的位置 在启动 TOMCAT 的启动参数中增加如下内容 也可以在启动 TOMCAT 之前 将环境变量 JAVA OPTS 设置为如下的值 需要注意的是下面两行的内容不要换 行 D ssl trustStore D tomcat for cas conf cas keystore D ssl trustStorePassword casserver 有两种方式指定 JVM 的启动参数 一种在 tomcat bin catalina bat 中指定 一种是单独建一个文件 比如 start with key bat 然后在文件中加入下面的内容 修改完启动脚本之后 重新启动 tomcat 访问地址 5090 c2 浏览器依然会自动跳转到登录页面 输入完用 户名和密码 点击登录之后 就会自动跳转到我们需要访问的地址 并显示正 常的页面 2 将安全证书导入到 将安全证书导入到 JVM 默认的证书库中默认的证书库中 如果在启动 JVM 的时候没有指定安全证书的位置 当程序用到安全证书时 JVM 将使用 JRE 默认的证书库 位置为 JAVA HOME jre lib security cacerts 因此我们需要做的就是将 CAS SERVER 使用的安全证书导入到 JRE 的这个证书 库中 首先使用 keytool 的 export 命令将 keystore 中的证书信息导出为 cer 格式的 文件 命令格式为 keytool
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佳能品牌形象的塑造与传播策略
- 内部审计工作要点梳理
- 全球视角下的房地产新趋势公寓管理岗位介绍
- 人力资源战略合作伙伴基于战略的人力资源规划
- 宠物食品包装材料的环保设计与性能优化-洞察及研究
- 户外休闲产品设计要点解析
- 消防跑水应急处理大纲
- 抖音流量账号运营体系设计
- 三级消防安全培训教材
- 物业新入职员工消防安全培训
- ICU无创机械通气护理查房
- 2025年工会专业知识考试题库及答案(真题版)
- 高速公路边坡治理总体施工组织设计(2025年9月19号)
- 2025新公安基础知识考试试题及参考答案
- 教师用餐补助管理办法
- 情绪与皮肤管理课件
- 健康梦中国梦课件
- 历史解释学前沿-洞察及研究
- GB/T 45787-2025植物保护机械闭式输送系统(CTS)性能指标
- 公司后勤安全培训课件
- 妊娠期高血压孕妇的护理
评论
0/150
提交评论