ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:332.86KB ,
资源ID:174881      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-174881.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(cas4.1.2应用实践(修正).docx)为本站会员(cjc2202537)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

cas4.1.2应用实践(修正).docx

1、Cas4.1.2应用实践一、 项目概述 .2概述 .2Cas 介绍 .2二、 项目准备 .3三、 CAS 配置 .5(一) 服务端配置 .51. 安装 .52. 配置修改 .6(1 )比较简单的数据库连接认证 .6(2)项目中我们采用更自由的自定义认证方式 .7(3)自定义 session.10(二) 客户端配置 .121. 增加过滤器 .122. 修改服务端配置 .143. cas 测试 .14四、 C/S 客户端 android 端及第三方接入 CAS 统一用户验证服务 .15(一) Restful 模式 .151. 添加相应的依赖包 .162. 修改服务端 cas 配置 .163. 编写

2、自定义 TicketResource .164. 修改配置文件 .175. 进行测试 .18(二) 代理模式 .211. 服务端配置 .212. 代理端配置 .223. 被代理访问的客户端配置 .224. 代理模式测试 .23五、 使用 redis 存储 tickets .25(一) 系统准备 .25(二) 修改配置 .26(三) 编写 tickets 存储类 .27六、 术语解释 .30TGT(Ticket Grangting Ticket) .30TGC (Ticket-granting cookie) .30ST(Service Ticket) .30PGT(Proxy Granting

3、 Ticket) .31PGTIOU(全称 Proxy Granting Ticket I Owe You) .31PT ( Proxy Ticket) .31TGT、ST、PGT、PT 之间关系 .321、项目概述概述现有项目 web 应用系统, android 系统,客户端 c/s 系统,外围第三方系统;其中 web 应用系统分为原有系统与新建系统,为了统一进行用户身份认证,同时为客户提供单点登录,我们采用 CAS 对系统进行改造集成。对于 c/s 系统,android 系统,我们采用 CAS Proxy 代理模式和 Restful 方式进行用户验证;外围第三方系统采用代理模式为其提供 w

4、ebservice 接口服务进行用户验证。对应 Web 应用系统中的新建系统和一部分原有系统采用集中统一登录界面,只需要改造 cas 服务端的登录界面便可以达到目的。而对于部分原有系统为不改变用户使用习惯,只修改其登录后台处理部分,使用 ajax 跨域方式进行用户验证。以下以本机 8080 端口为服务, 18080 为客户端, 38080 为代理端进行简单的搭建测试,其完成整示例下载地址http:/ 介绍Cas 包括 Cas Server 和 Cas Client 两部分CAS Server 负责完成对用户的认证工作, 需要独立部署 ,CAS Server 会处理用户名 / 密码等凭证。负责处

5、理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到 CAS Server 进行认证。(原则上,客户端应用不再接受任何的用户名密码等 Credentials )。CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。实现原理:1 个 cookie+N 个 sessionCas 创建 cookie 在所有应用中登录时 cas 使用,各应用通过在 IE 创建各自的 session 来标识应用是否已经登录。Cookie:在 cas 为各应用登录时使用,实现了只须一次录入用户密码Session:各应用会创建自己的 session 表示是否登录。C

6、AS 的核心就是其 Ticket,及其在 Ticket 之上的一系列处理操作。CAS 的主要票据有 TGT、ST、PGT、PGTIOU、PT,其基本框架如下图所示:2、项目准备为实现以上项目目标,我们需要准备以下工具Web 应用服务:apache-tomcat-7.0.73 ,Jdk:1.8.0_51,数据库:mysql缓存数据库:redis服务端下载CAS 官网下载 https:/www.apereo.org/projects/cas/download-cas相应版本的 cas server,这里我们选择 CAS v4.1.2 版本,下载后建立 maven 工程编译后,在 cas-serve

7、r-webapp 下获得 cas.war。客户端下载从 https:/ 下载 java-cas-client,版本3.4.2,建立 maven 工程编译;从 https:/ 下载cas-sample-java-webapp,建立 maven 工程编译。其他配置:Cas 支持 https,可以使用 ssl 相关命令自行申请证书或者利用第三方证书这里不再累述,修改 tomcat Server.xml 的配置3、CAS 配置(1 ) 服务端配置1.安装将以上下载的源码编译后得到的 cas.war 解压后拷贝到 tomcat 的 webapp 目录下为了方便我们使用让 cas 支持 http(1)修改

8、 WEB-INFdeployerConfigContext.xml,加入p:requireSecure=“false“ (2)spring-configurationticketGrantingTicketCookieGenerator.xml,修改 p:cookieSecure=“false“(3)WEB-INFspring-configurationwarnCookieGenerator.xml ,修改p:cookieSecure=“false“修改完成后,启动服务,在地址栏输入地址 http:/127.0.0.1:8080/cas/login,出现以下界面输入账号 casuser,密码

9、Mellon 登录成功,界面如下服务端安装完成。2.配置修改(1)比较简单的数据库连接认证修改/WEB-INF/deployerConfigContext.xml,屏蔽增加以下配置MD5 (2)自由的自定义认证方式由于项目中统一登录界面需要增加验证码输入,当然可以自定义增加或减少相应的登录输入项。A.首先修改 WEB-INFviewjspdefaultuicasLoginView.jsp 中增加 vcode输入项B.修改WEB-INFwebflowloginlogin-webflow.xml为UsernamePasswordVcodeCredential 为自定义需要编写的类在 viewLog

10、inForm 中增加C.编写的类 UsernamePasswordVcodeCredential继承 UsernamePasswordCredential 类,代码如下:public class UsernamePasswordVcodeCredential extends UsernamePasswordCredential public UsernamePasswordVcodeCredential(final String userName, final String password,final String vcode) this.setUsername(userName);this

11、.setPassword(password);this.setVcode(vcode);public UsernamePasswordVcodeCredential()super();NotNullSize(min=1, message = “required.vcode“)private String vcode;public String getVcode() return vcode;public void setVcode(String vcode) this.vcode = vcode; D.用户输入项验证代码编写配置编写类 ZkZdyAuthenticationHandler 继承

12、AbstractUsernamePasswordAuthenticationHandler,代码如下:public class ZkZdyAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandlerOverrideprotected HandlerResult authenticateUsernamePasswordInternal(UsernamePasswordCredential credential)throws GeneralSecurityException, PreventedExcepti

13、on final String username = credential.getUsername();final String encryptedPassword = this.getPasswordEncoder().encode(credential.getPassword();/获取校验码,这里可以使用自定义的 UsernamePasswordVcodeCredential,增加了验证码final String vcode=(UsernamePasswordVcodeCredential)credential).getVcode();/添加自己的代码进行校验boolean flag=v

14、alidate(username,encryptedPassword,vcode);if(!flag)throw new FailedLoginException(“Password does not match value on record.“);return createHandlerResult(credential, this.principalFactory.createPrincipal(username), null);修改/WEB-INF/deployerConfigContext.xml 配置屏蔽以前的配置完成后 Cas 服务重启,进入地址 http:/127.0.0.1:8080/cas/login,登录界面如下图:登录后后台可以获取 vcode获取 vcode 后可以进行相应的处理,处理根据业务需求不同不再累述也可以修改 userinfo屏蔽原有的 attributeRepository,改成

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报