责任链模式介绍

什么是责任链模

   责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。

图片

责任链模式结构

图片

伪代码

图片

基于责任链的开放银行数据保护及合规实践

合规概况介绍

     数据收集合规方面,开放银行在提供用户信息相关服务时,若涉及收集用户信息将以签署授权协议的方式获取用户授权;数据共享使用方面,第三方在调用获取、使用、变更客户信息、账户、资金等接口时,需先取得客户明示同意,同时开放银行依据最少够用原则,采用了报文非必要字段过滤及关键字脱敏的方式;数据传输合规方面,通道层基于 TLS1.2 及以上版本安全通道进行通信,应用层支持标准国际国密算法加密,为保证与第三方之间数据传输的完整性与不可抵赖性,采用数字签名技术,为合作方应用一对一颁发证书,后续通过证书来验证第三方合法身份;数据存储合规方面,平台不存储业务类数据,业务数据从后台关联系统获取,技术类数据则入库大数据平台永久保存,对于交易日志,在完成去标识化处理后上送运维平台展示,并依据标准脱敏规则,对邮箱、身份证号、手机号等信息进行脱敏处理。

      开放银行作为金融机构开放数据的载体,通过与第三方机构合作,实现了银行与第三方间数据服务的开放共享,将银行服务嵌入到用户生活的方方面面。在数据的共享和流转过程中,如何保障数据安全和用户隐私则显得尤为重要。为此,农业银行开放银行提出了一种基于责任链模型的开放银行数据保护解决方案。该方案基于 ZuulFilter责任链模式构建了开放银行认证授权及数据保护体系,由一系列紧密配合工作的 Filter按照预设的 FilterOrder 实现,Filter 间不直接通信,通过 RequestContext 共享状态。

开放银行数据保护责任链模型

图片


开放银行数据保护责任链模型主要包括三部分:Pre Filters、Error Filters 和 PostFilters。Error Filters 和 Post Filters 分别负责进行统一异常处理和事后流水记录,PreFilters 是模型的重点,包含了一系列的数据处理节点,上图重点列出了一部分。

   其中,报文转换节点用于校验合作方报文格式是否符合 HTTP 规范以及是否满足开放银行标准;鉴权节点用于鉴别合作方是否具有开放银行接口访问权限;签名验签节点

   通过验证合作方数字证书的有效性以确认合作方身份真实性;加解密节点在应用层面采用密钥加密手段保护数据安全;后台调用节点负责链接我行多样的开放金融产品服务;输出过滤节点可根据实际需求过滤掉报文中的非必要字段,保证了信息的最小集输出原则;关键字脱敏节点可按预设脱敏规则对响应报文的敏感信息进行脱敏处理,保护用户隐私;组装响应报文节点在完成前面所有节点处理后将组装后的响应数据共享给合作方。

   责任链模型中各个处理节点形成了先后的层级关系,但各个节点间互不影响,耦合度较低,仅通过 RequestContext 共享状态。Pre Filters 执行过程中失败则会由 ErrorFilters 接手处理,执行完毕后进入 Post Filters 记录流水日志。只有链条上所有节点均正常执行完毕后,才会视为请求处理成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97504.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97504.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/97504.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm install --global @dcloudio/uni-cli 时安装失败

这个日志显示在执行 npm install --global dcloudio/uni-cli 时安装失败,核心错误是 UNABLE_TO_GET_GET_ISSUER_CERT_LOCALLY(无法获取本地颁发者证书),属于 HTTPS 证书验证失败 问题。错误原因npm 访问官方 registry(…

吱吱企业通讯软件可私有化部署,构建安全可控的通讯办公平台

在当今激烈的市场竞争环境中,企业通讯已成为制胜的关键因素。吱吱作为一款专为企业管理设计的IM即时办公通讯软件,提供了高度安全的通讯办公环境,确保信息在内部流通的安全性与高效性,为企业数字化转型奠定了坚实的基础。 一、私有…

暄桐:唯有认真思考过死亡,才足以应对日常

暄桐是一间传统美学教育教室,创办于2011年,林曦是创办人和授课老师,教授以书法为主的传统文化和技艺,皆在以书法为起点,亲近中国传统之美,以实践和所得,滋养当下生活。初听庄子在妻子离世后“鼓…

目标检测领域基本概念

基于提议的方法,也常被称为两阶段 (Two-stage) 方法,是目标检测领域的经典范式。它们将目标检测任务分解为两个主要步骤:阶段一:区域提议 (Region Proposal Generation) 目标: 在图像中生成一系列可能包含物体的候选区…

【开题答辩全过程】以 基于SpringBoot的流浪猫狗领养系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

扣子(coze)实践指南进阶篇——创建工作流,并将工作流接入智能体

大家好,欢迎阅读这份《智能体(AIAgent)开发指南》! 在大模型和智能体快速发展的今天,很多朋友希望学习如何从零开始搭建一个属于自己的智能体。本教程的特点是 完全基于国产大模型与火山推理引擎实现,不用翻…

【STM32】外部中断(上)

【STM32】外部中断前言一、中断系统1.1 什么是中断1.2 中断优先级1.3 中断嵌套1.4 中断执行流程二、NVIC2.1NVIC基本结构2.2 NVIC优先级分组三、EXTI3.1 EXTI 外部中断(Extern Interrupt)3.2 EXTI基本结构3.3 AFIO复用IO口3.4 EXTI内部框图前言 【STM32…

TimeDP Learning to Generate Multi-Domain Time Series with Domain Prompts论文阅读笔记

TimeDP Learning to Generate Multi-Domain Time Series with Domain Prompts 摘要 在跨域时序数据生成任务中,提出使用”时间序列语义原型“模块定义时间序列原型来表示时间序列基,每个原型向量作为“词”表示一些基本的时间序列特征。应用原型分配模块…

Ubuntu安装NVIDIA显卡驱动

清理旧驱动 sudo apt purge nvidia* libnvidia* sudo apt autoremovesudo find /etc -name *nvidia* -exec sudo rm -rf {} sudo rm -rf /usr/local/cuda*禁用 nouveau echo blacklist nouveau options nouveau modeset0 | sudo tee /etc/modprobe.d/blacklist-nouveau.conf…

硬件工程师成长之路:从入门到精通的技术旅程

文章目录前言第一阶段:基础知识的积累理论知识储备动手实践第二阶段:专业技能的提升PCB设计嵌入式系统开发第三阶段:专业方向的选择射频(RF)工程电源设计高速数字电路FPGA/ASIC设计第四阶段:工程管理与视野…

PyTorch 张量(Tensor)详解:从基础到实战

1. 引言在深度学习和科学计算领域,张量(Tensor) 是最基础的数据结构。PyTorch 作为当前最流行的深度学习框架之一,其核心计算单元就是张量。与 NumPy 的 ndarray 类似,PyTorch 张量支持高效的数值计算,但额…

CPTS---Hospital

端口扫描 nmap -A -p- -n -Pn -T4 10.10.11.241 22/tcp open ssh OpenSSH 9.0p1 Ubuntu 1ubuntu8.5 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 e1:4b:4b:3a:6d:18:66:69:39:f7:aa:74:b3:16:0a:aa (ECDSA) |_ 256 96:c1:dc:d8:97:20:95:e7:01:5…

【贪心算法】day5

📝前言说明: 本专栏主要记录本人的贪心算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

软考中级【网络工程师】第6版教材 第4章 无线通信网 (上)

考点分析: 重要程度:⭐⭐⭐ 选择题考查1 ~ 3分,案例分析可能考查填空和简答 高频考点:802.11信道与频段、CSMA/CA、无线网络优化、无线认证、无线配置步骤 新教材变化:新增4G/5G、删除无线城域网 本章将详述蜂窝移动通信系统、无线局域网以及无线个人网的体系结构和实用技…

vscode+EIDE+Clangd环境导入keil C51以及MDK工程

我最近一直在使用vscodeclangd的编译环境替代了vscode自带的c/c插件。感觉clangd的环境更加优秀,能够更好找到函数、全局变量等定义调用等。如果使用keil C51以及MDK环境开发51单片机或者STM32单片机就需要使用到了EIDE这个插件这个插件现在能够自动生成compile_com…

FTP - 学习/实践

1.应用场景 主要用于学习和使用FTP服务,同时研究其架构实现, 以及日常开发中的使用。 FTP(文件传输协议)是一种用于网络文件传输的标准协议,基于客户端-服务器模型运行,通过控制通道(端口21)和…

【瑞吉外卖】手机号验证码登录(用QQ邮件发送代替)

目录 介绍 一、获取授权码 二、前端代码修改 三、后端代码修改 ①pom依赖 ②yml配置 ③控制层 ④业务层 ⑤工具类 介绍 本文介绍了QQ邮箱验证码登录功能的实现步骤: 获取QQ邮箱授权码并配置;前端修改登录页面,增加验证码发送接口调…

为什么要用 Markdown?以及如何使用它

在处理大量文档时,尤其是在构建知识库、进行文档分析或训练大语言模型(LLM)时,将各种格式的文件(如 PDF、Word、Excel、PPT、HTML 等)转换为统一的 Markdown 格式,能够显著提高处理效率和兼容性…

订餐后台管理系统-day06菜品分类模块

菜品分类显示我们需要先实现分类操作,因为没有菜品分类,我们无法准确知道当前菜品属于哪个分类,在前端显示时,需要根据分类显示数据先显示分类列表页面准备路由manage_bp.route(/food/cat/list) def food_cat_list():# 默认页面从…

More Effective C++ 条款20:协助完成返回值优化(Facilitate the Return Value Optimization)

More Effective C 条款20:协助完成返回值优化(Facilitate the Return Value Optimization)核心思想:返回值优化(RVO)是编译器消除函数返回时临时对象的一种重要优化技术。通过编写适合RVO的代码&#xff0c…