论文:AOP框架安全框架-系统架构师(六十六)
1详细论述安全架构设计中鉴别框架和访问控制框架设计内容,并论述鉴别框架和访问控制所面临的主要威胁,说明其危害。
解析:
鉴别框架有用户密码鉴别、生物特征鉴别和多因素鉴别。
用户密码鉴别可以采用验证登入的用户账号是否正确。
生物特征鉴权可以采用人脸识别和指纹识别等方式验证人员是否是授权用户。
多因素鉴别则是根据实际业务场景,结合多种鉴别方法来保证安全信息。
访问控制框架有基于角色控制权限(RBAC)、基于属性控制权限(ABAC)和用户自定义(DAC
)等方法。
基于角色控制权限是给人员分配不同的角色,来达到控制用户权限的目的。
基于属性控制权限是更细颗粒度的就控制权限方法,根据用户的不同属性,来给用户授权。
用户自定义则是把权限控制的方法给用户自己来定义。
鉴别框架的主要危害是非法授权用户会伪造虚拟用户进行网站登入,也会拦截真是的用户信息身份,来模拟真实用户来访问系统,达到非法入侵的目的。
控制访问框架的主要危害是给用户的权限过多,敏感数据泄露给未授权的用户。
这些危害可能导致严重的问题,比如数据泄露,数据库被修改,甚至系统服务宕机。
2企业信息集成解决”信息孤岛”问题的需求,技术发展推动了集成架构的研究。请给出至少4种企业集成平台具有的基本功能,并对这4种功能内涵进行简述。遇到了哪些问题?
解析:
企业集成平台应该具备以下基本功能,数据集成、应用集成、业务集成和门户集成。
数据集成表示各个服务的数据格式不统一,交互困难,所以需要集成统一的数据格式,保证正常的服务交互。
应用集成表示各个应用服务技术不统一,当时根据实际场景和开发人员考虑,每个系统的开发语言不一致,技术的异构性,需要考虑到应用集成。
业务集成表示项目的业务流程复杂,每个系统的业务不一致,需要考虑业务统一规范。
门户集成表示每个系统的展示层不一致,没有做到统一界面,统一的返回接口,导致展示不一致。
数据集成的时候,各个系统的数据格式不一致,有的是半结构化数据,有的是非结构化数据,于是同步的时候统一了数据格式,用ESB服务总线解决了这个问题。
应用集成遇到了技术异构性,有的系统语言开发不一致,于是对不同系统进行整合。
业务集成遇到了业务流程复杂,杂乱无章,于是对每个系统的数据流程进行梳理,通过数据流程图来规范化。
门户集成存在多个问题,技术异构性,页面展示不一致,以及表示层接口返回不一致等问题,于是统一了返回调用,遵循界面黄金三原则之一,统一页面格式。
3微服务的优点?
解析:
技术异构性强调可以每个服务用自己的语言开发,根据自己的实际业务场景和it人员的技术栈选择最合适自己的编程语言。
高扩展性强调横向扩展能力大大增强,每个微服务当需要扩展的时候,只需要增加自己系统的服务器就好。
并行开发能力强调开发效率增高,传统项目每个模块都在一个系统,这时候存在代码冲突等问题,分为各个独立的微服务后,各个系统之间开发互不影响,并行开发能力增强,效率增加。
高度解耦则强调每个系统可以独立开发部署,不在同一个系统开发,不会存在牵一发动全身,其他系统可以独立修改。
独立部署强调每个系统都可以单独修改,单独部署,和其他系统没有强关联。
4叙述在项目实践过程中使用AOP技术在开发过程的具体步骤。
解析:
AOP面相切面编程是注重横向切面的编程思想,它是面向对象OOP编程不足之处的弥补,补充了系统处理横向切面的能力。在开发过程中,考虑到系统的访问接口拦截、登入实现单点登入SSO和日志记录都需要在每个接口都需要处理,横穿整个系统,采用的是java语言的@Aspect注解,实现面相切面功能,用户在访问每个接口的时候,都需要被拦截,这时候需要通过用户发送的鉴权码去鉴权这个用户的访问信息是否是真实的授权用户,是否超时等,成功则让用户正常访问,失败则拦截用户的请求。日志记录则是采用@Aspect在请求接口之后拦截,日子记录大致分为正常访问的记录和异常访问的记录,当@PointCut,@After,@Before,而异常的则是用@AfterThrowing注解来拦截。
作者公众号【元气笑语】
欢迎大家前来观看,学习之余不要忘记来笑一笑\(^o^)/~。
相关文章:
论文:AOP框架安全框架-系统架构师(六十六)
1详细论述安全架构设计中鉴别框架和访问控制框架设计内容,并论述鉴别框架和访问控制所面临的主要威胁,说明其危害。 解析: 鉴别框架有用户密码鉴别、生物特征鉴别和多因素鉴别。 用户密码鉴别可以采用验证登入的用户账号是否正确。 生物特…...
用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:下(人物动画)
上个博客我们做出了人物的动画机和人物移动跳跃,接下来我们要做出人物展现出来的动画了 我们接下来就要用到动画机了,双击我们的动画机,进入到这样的页面,我这是已经做好的页面,你们是没有这些箭头的 依次像我一样连接…...
Android 优雅封装Glide
文章目录 Android 优雅封装Glide核心思想定义策略接口定义图片选项实现Glide策略图片管理类使用 Android 优雅封装Glide 核心思想 使用策略模式实现不同图片加载框架的切换,使用建造者设计模式处理不同参数,最后通过 ImageLoader 进行管理。 定义策略…...
智能优化算法-粒子群优化算法(PSO)(附源码)
目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 粒子群优化算法 (Particle Swarm Optimization, PSO) 是一种基于群体智能的元启发式优化算法,由Kennedy和Eberhart于1995年提出。PSO模拟了鸟群或鱼群的觅食行为,通过粒子之间的相互作用…...
vue系统获取授权平台授权码实现单点登录、注销功能
公司平台需要对接别的平台 实现单点登录 注销。简而言之,不需要在自己公司系统登录 统一在别的平台登录后获取到登录凭证(授权码) 在本公司系统实现免密登录的功能。 流程: 跳转授权页面和保存授权码的代码: hrefLog…...
Java之枚举
目录 枚举 引入 定义 代码示例 常用方法 代码示例 枚举的优缺点 枚举和反射 面试题 枚举 引入 枚举是在JDK1.5以后引入的。主要用途是:将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式: publicstaticintfinalRED1;…...
八、适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口之间进行合作。适配器模式通过创建一个适配器类来转换一个接口的接口,使得原本由于接口不兼容无法一起工作的类可以一起工作。 主要组成部分: 目标…...
关于E-R图
一 什么是E-R图 E-R图(Entity-Relationship Diagram)是一种数据建模工具,用于描述数据库中实体之间的关系。它使用实体(Entity)、属性(Attribute)和关系(Relationship&#…...
DVWA通关教程
Brute Force Low 先进行一下代码审计 <?php // 检查是否通过GET请求传递了Login参数(注意:这里应该是username或类似的,但代码逻辑有误) if( isset( $_GET[ Login ] ) ) { // 从GET请求中获取用户名 $user $_GET[ us…...
网络学习-eNSP配置VRRP
虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP) VRRP广泛应用在边缘网络中,是一种路由冗余协议,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际…...
Kafka【九】如何实现数据的幂等性操作
为了解决Kafka传输数据时,所产生的数据重复和乱序问题,Kafka引入了幂等性操作,所谓的幂等性,就是Producer同样的一条数据,无论向Kafka发送多少次,kafka都只会存储一条。注意,这里的同样的一条数…...
JavaScript知识点1
目录 1.JavaScript中常用的数组方法有哪些? 2.JavaScript的同源策略? 3.JavaScript中的 NaN 是什么? 4.JavaScript中的split、slice、splice函数区别? 1.JavaScript中常用的数组方法有哪些? 在 JavaScript 中&…...
51单片机个人学习笔记11(AT24C02-I2C总线)
前言 本篇文章属于STC89C52单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 [1-1] 课程简介_哔哩…...
创建Java项目,可实现main方法运行,实现对性能数据的处理
1、Android Studio无法执行Java类的main方法问题及解决方法 Android Studio无法执行Java类的main方法问题及解决方法_delegatedbuild-CSDN博客 D:\workspaces\performanceTools\.idea 文件夹下,gardle.xml ,添加依赖 <option name"delegatedBuild"…...
JavaWeb(后端)
MVC MVC 就是 Model View Controller 的缩写,属于一种软件架构设计模式一种思想,把我们的项目分为控制器(Controller)、模型(Model)、视图(view)三个部分,model就是处理…...
828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台
前言 华为云Flexus X实例,Servas书签管理工具部署的优选平台!828节日特惠,让高效管理您的知识宝藏触手可及。Flexus X实例以其卓越的算力、灵活的资源配置和智能调优技术,为Servas提供了稳定、高效的运行环境。无论是快速访问、安…...
分治法和动态规划法
一、分治法(Divide and Conquer) 定义 分治法是一种将大问题分解成若干个小问题,递归地解决这些小问题,然后将这些小问题的解合并起来得到原问题的解的算法策略。(子问题之间相互独立) 基本步骤 1.分解…...
【FreeRL】我的深度学习库构建思想
文章目录 前言参考python环境效果已复现结果 综述DQN.py(主要)算法实现参数修改细节实现显示训练,保存训练 Buffer.pyevaluate.pylearning_curves 前言 代码实现在:https://github.com/wild-firefox/FreeRL 欢迎star 参考 动手学强化学习e…...
Docker部署nginx容器无法访问80端口
问题说明 在阿里云ECS服务器上部署一台CentOS服务器,然后在里面安装了docker服务。用docker部署了nginx,开启docker中的nginx服务,映射宿主机端口80 把阿里云服务器上面的安全组放开了80端口 但是还是无法访问nginx的80web界面 问题分析 查…...
Python语言开发学习之使用Python预测天气
什么是wttr? 使用Python预测天气的第一步,我们要了解wttr是什么。wttr.in是一个面向控制台的天气预报服务,它支持各种信息表示方法,如面向终端的ANSI序列(用于控制台HTTP客户端(curl、httpie或wget))、HTML(用于web浏览器)或PNG(…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
