身份与访问管理(IAM):零信任架构下的认证授权技术与实战
身份与访问管理(IAM):零信任架构下的认证授权技术与实战
在网络安全防御体系中,身份与访问管理(Identity and Access Management, IAM)是守护数字资产的“数字门禁系统”。随着远程办公和多云架构的普及,传统基于密码和角色的访问控制已难以应对账户接管、权限滥用等威胁。零信任架构下的IAM通过“持续认证、动态授权、最小权限”原则,构建“访问即验证”的安全体系。本文将深入解析IAM的核心技术、主流模型及企业级实施策略,助力构建自适应的身份安全防护网。
一、IAM的本质:数字世界的“身份通行证”
1. 核心目标
- 身份可信:确保用户身份与声称的一致(如员工张三≠冒充者李四);
- 权限可控:根据用户身份、设备状态、时间地点等因素,动态授予最小必要权限;
- 行为可审计:记录所有访问行为,满足合规审计要求(如等保2.0要求保存180天日志)。
2. 零信任IAM核心原则
- 从不信任,始终验证:每次访问均需重新认证,无论内外网;
- 最小权限原则:用户初始权限为“零”,通过动态策略逐步授予必要权限;
- 基于风险的自适应:根据设备健康度、地理位置等因素,动态调整认证强度(如异地登录强制二次认证)。
二、认证技术:从密码到生物识别的演进
1. 主流认证方式对比
类型 | 技术原理 | 安全性 | 用户体验 | 典型场景 |
---|---|---|---|---|
密码认证 | 基于知识的验证(如PaSsWd123 ) | 低 | 便捷 | 基础系统登录 |
多因素认证(MFA) | 结合“你知道的”+“你拥有的” | 高 | 中等 | 金融系统、管理员账户 |
生物识别 | 指纹/人脸识别等生物特征匹配 | 极高 | 优秀 | 移动设备、门禁系统 |
证书认证 | 基于公钥基础设施(PKI)的数字证书 | 极高 | 复杂 | 企业级VPN、代码签名 |
2. 多因素认证(MFA)实战配置
(1)基于TOTP的动态码生成(RFC 6238)
# 使用pyotp库生成动态验证码
import pyotp
secret = pyotp.random_base32() # 生成密钥(如JBSWY3DPEHPK3PXP)
totp = pyotp.TOTP(secret)
print(f"动态码:{totp.now()}") # 每分钟更新一次
(2)Okta SSO集成示例
- 应用注册:在Okta控制台创建应用,获取Client ID和Client Secret;
- 前端集成:
<button onclick="oktaSignIn()"></button> <script src="https://ok1static.okta.com/okta-signin-widget/2.3.0/js/okta-sign-in.min.js"></script> <script> const signIn = new OktaSignIn({ clientId: "0oab8k7abc123456789", redirectUri: "http://your-app.com/redirect" }); function oktaSignIn() { signIn.showSignInAndRedirect(); } </script>
3. 生物识别技术进展
- 行为生物识别:通过打字节奏、鼠标移动轨迹等行为特征辅助认证,降低钓鱼攻击风险;
- 无密码认证:使用Face ID、指纹或硬件密钥(如YubiKey)替代密码,2023年全球无密码登录用户突破10亿。
三、授权模型:从RBAC到ABAC的动态控制
1. 三大主流授权模型
(1)角色-based访问控制(RBAC)
- 核心逻辑:用户→角色→权限,通过角色层级简化权限管理;
- 配置示例(Kubernetes RBAC):
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: pod-reader rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list"]
(2)属性-based访问控制(ABAC)
- 核心逻辑:基于用户属性(如部门、职位)+ 环境属性(如IP地址、时间)+ 资源属性(如数据敏感度)动态授权;
- 策略示例(AWS IAM Policy):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::finance-bucket/*", "Condition": { "StringEquals": {"aws:PrincipalTag/department": "Finance"}, "IpAddress": {"aws:SourceIp": "192.168.1.0/24"} } } ] }
(3)权限边界(PBAC)
- 核心逻辑:定义权限上限,防止权限过度分配(如管理员账户也无法访问非授权数据);
- 典型应用:金融行业限制单个账户的最大交易金额(如单笔交易≤50万元)。
2. 模型对比与选型建议
模型 | 复杂度 | 灵活性 | 适用场景 |
---|---|---|---|
RBAC | 低 | 中 | 组织架构稳定的传统企业 |
ABAC | 高 | 高 | 多云环境、动态权限需求企业 |
PBAC | 中 | 中 | 对权限最小化要求极高场景 |
四、零信任IAM实施框架
1. 技术架构分层
┌──────────┐ 设备认证 ┌──────────┐ 身份认证 ┌──────────┐
│ 终端设备 │ ───────────> │ 接入网关 │ ───────────> │ 认证中心 │
└──────────┘ └──────────┘ └──────────┘ ↑ ↑ ↑ ├──── 权限校验 ──── 策略引擎 ──── 风险评估 ─────┤ └────────────────────────────── 资源访问 ────────┘
2. 关键实施步骤
(1)设备身份管理
- 为每台设备分配唯一ID(如通过MDM工具管理移动设备),验证设备健康状态(如是否安装防病毒软件、系统补丁是否最新);
- 示例:使用Jamf管理iOS设备,强制开启屏幕密码和设备加密。
(2)动态访问策略
- 基于风险的自适应认证:
IF 登录IP来自陌生地区 AND 设备未注册 THEN 要求用户进行人脸识别+短信验证码双重认证
- 会话超时控制:敏感操作(如修改密码)后30分钟未活动自动登出,普通会话2小时超时。
(3)微服务权限治理
- 使用服务网格(如Istio)实现服务间的身份认证:
# Istio服务认证配置 apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: default spec: mtls: mode: STRICT # 强制双向TLS认证
五、实战案例:某跨国企业零信任IAM落地实践
场景描述
某制造企业面临账户密码泄露导致的内网渗透攻击,2022年发生3次钓鱼攻击事件,攻击者通过窃取的管理员账户访问生产系统,造成200万美元损失。
解决方案
-
认证体系升级:
- 全员启用MFA,管理员账户强制使用硬件密钥(YubiKey);
- 引入行为生物识别,检测异常登录行为(如惯用左手用户突然使用右手操作鼠标)。
-
权限模型重构:
- 从RBAC转向ABAC,权限策略包含“用户部门+设备位置+时间窗口”三要素;
- 示例:研发部门员工仅在工作日9:00-18:00,从公司IP段(192.168.1.0/24)可访问代码仓库。
-
技术工具选型:
- 认证层:Okta作为统一身份平台,集成AD/LDAP实现单点登录;
- 授权层:使用ForgeRock Access Management,支持复杂策略引擎;
- 审计层:Splunk集中存储访问日志,设置异常登录实时报警。
实施效果
- 钓鱼攻击成功次数从每月1次降至0次;
- 权限过度分配问题减少75%,平均权限审批时间从2天缩短至2小时。
六、企业级部署最佳实践
1. 账号生命周期管理
(1)自动化流程
员工入职 → 自动创建账号(关联AD/LDAP) → 审批通过后激活
员工离职 → 触发工单系统 → 即时禁用账号并回收所有权限
(2)账号清理策略
- 定期扫描僵尸账号(如6个月未登录的账号自动冻结);
- 实施“权限最小化审计”,每季度检查账号权限是否符合当前角色。
2. 与云服务商集成
(1)AWS IAM最佳实践
- 使用IAM角色(Role)替代长期密钥,通过AssumeRole临时获取权限;
- 启用MFA保护IAM管理员账户,禁止直接使用Root账户进行日常操作。
(2)Azure AD配置示例
- 开启条件访问策略:
对于访问Azure SQL数据库的用户,要求: - 已通过MFA认证 - 设备已加入企业移动设备管理(MDM)
3. 审计与响应
- 记录关键操作日志(如账号创建、权限变更、异常登录),保存至少180天;
- 建立应急响应流程:检测到账户异常登录时,自动冻结账号并通知安全员。
七、未来趋势:从IAM到CIAM(云原生IAM)
1. 无密码认证普及
- FIDO2标准成为主流,支持生物识别+安全密钥,彻底摆脱密码泄露风险;
- 统计显示,使用FIDO2的企业,账户接管攻击减少82%。
2. 基于风险的自适应认证
- 结合AI分析用户行为模式,动态调整认证强度:
- 高风险场景(如首次从Tor节点登录):要求上传身份证照片进行人工审核;
- 低风险场景(如常用设备登录):跳过MFA,提升用户体验。
3. 身份即服务(IDaaS)
- 云原生IAM平台(如Auth0、Ping Identity)提供开箱即用的身份解决方案,支持多云环境统一管理;
- 集成OpenID Connect和OAuth 2.0,实现跨应用单点登录(SSO)的“无代码”配置。
八、总结:构建身份安全的“动态护城河”
IAM是零信任架构的核心基石,其价值在于将“静态权限”转化为“动态信任”。企业需根据自身IT架构选择合适的认证授权模型:传统架构可从RBAC起步,逐步引入MFA提升安全性;云原生架构建议直接采用ABAC,结合AI实现风险自适应。
在实施过程中,应遵循“认证分层、授权最小化、审计全链路”原则,避免陷入“过度认证影响体验”或“权限失控导致风险”的误区。随着生物识别、无密码技术的成熟,IAM将从“安全成本”转变为“数字化转型的核心使能技术”。下一篇文章将聚焦“安全编排自动化与响应(SOAR)”,解析如何通过剧本化编排实现安全事件的高效处置。
相关文章:
身份与访问管理(IAM):零信任架构下的认证授权技术与实战
身份与访问管理(IAM):零信任架构下的认证授权技术与实战 在网络安全防御体系中,身份与访问管理(Identity and Access Management, IAM)是守护数字资产的“数字门禁系统”。随着远程办公和多云架构的普及&a…...
潮了 低配电脑6G显存生成60秒AI视频 本地部署/一键包/云算力部署/批量生成
最近发现了一个让人眼前一亮的工具——FramePack,它能用一块普通的6GB显存笔记本GPU,生成60秒电影级的高清视频画面,效果堪称炸裂!那么我们就把他本地部署起来玩一玩、下载离线一键整合包,或者是用云算力快速上手。接下…...
高防IP+CDN组合:电商大促的“双保险”防护方案
引言 电商大促期间,平台流量呈爆发式增长,既要应对瞬时激增的访问量,又要防范黑客趁机发起的DDoS攻击、恶意爬虫等威胁。单一防护手段往往难以兼顾性能与安全,而高防IPCDN组合通过“流量清洗加速分发”的双重机制,为电…...
“IAmMusicFont.com“:将音乐变成视觉
很高兴向大家介绍——IAmMusicFont.com,这是一个专为音乐爱好者和设计师打造的在线字体生成器,灵感源自Playboi Carti 2025年专辑《MUSIC》(又称"I Am Music")的标志性封面设计。 什么是"I am music font"&a…...
C++入门(下)
本文为个人学习笔记,如有错误欢迎批评指正,如有侵权,请联系删除。 今日名言: 好运只是个副产品,只有当你不带任何私心杂念,单纯的去做事情时,他才会降临。 上一篇文章我们讲了C入门的一部分内容…...
ubuntu22.04 命令行修改静态ip
传统interfaces文件配置(适用于旧版)即便我们已经在桌面上配置了固定ip 这里也可以修改 编辑配置文件 修改/etc/network/interfaces(需安装net-tools): # interfaces(5) file used by ifup(8) and ifdown(8) # In…...
Ubuntu18.04配置C++环境和Qt环境
Ubuntu18.04配置C环境和Qt环境 1、前言3.2 安装其他库3.3 查看有没有安装成功3.4测试C环境 4、配置Qt环境4.1 安装相关的库4.2 测试 5、总结 1、前言 记录一下Ubuntu18.04配置C环境和Qt环境的过程,方便自己日后回顾,也可以给有需要的人提供帮助。 # 2…...
深度学习--自然语言处理统计语言与神经语言模型
文章目录 前言一、语言转换方法1、数据预处理2、特征提取3、模型输入4、模型推理 二、语言模型1、统计语言模型1) 机器学习词向量转换2)解释:3) 统计语言模型存在的问题 2、神经语言模型1)one—hot编码2)解决维度灾难3)…...
linux ptrace 图文详解(七) gdb、strace跟踪系统调用
目录 一、gdb/strace 跟踪程序系统调用 二、实现原理 三、代码实现 四、总结 (代码:linux 6.3.1,架构:arm64) One look is worth a thousand words. —— Tess Flanders 相关链接: linux ptrace 图…...
Feign接口调用失败降级机制
是的,通过 FallbackFactory 实现的降级逻辑在 Feign 接口调用失败时会被触发,但需要注意以下关键点以确保降级生效: 一、代码有效性分析 降级逻辑是否生效? • 是的,当 Feign 调用 BaseServiceFeign 接口的 updateMoni…...
系统架构-安全架构设计
概述 对于信息系统来说,威胁有:物理环境(最基础)、通信链路、网络系统、操作系统、应用系统、管理系统 物理安全:系统所用设备的威胁,如自然灾害、电源故障通信链路安全:在传输线路上安装窃听…...
python实现简单的UI交互
文章目录 1. 基础打印 覆盖同一行2. 多行动画效果3. 彩色文本(Windows/macOS/Linux)4. 输入交互5. 异步输入与非阻塞显示6. 高级控制台 UI 库 可以通过控制台打印实现简单的「伪UI交互」,尤其适合展示进度、动态文本或轻量级状态反馈。以下是…...
高频面试题:如何保证数据库和es数据一致性
背景 在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,缓解MySQL数据库的查询压力,应对海量数据的复杂查询,这其中有一个很重要的问题,就是如何实现MySQL数…...
CS001-7-hbao
HBAO https://zhuanlan.zhihu.com/p/348467142 HBAO(屏幕空间的环境光遮蔽) - 知乎 (zhihu.com) [摸着原神学图形]HBAO实现与优化 - 知乎 (zhihu.com) https://zhuanlan.zhihu.com/p/367793439 Global Illumination_Horizon-Based Ambient Occlusion(HBAO)-CSDN博客 这个解…...
使用npm install或cnpm install报错解决
1.从git上拉了一个新vue项目npm install 报错如下 解决办法: 清除npm缓存 npm cache clean -force 2.阿里云镜像证书过期,报错如下 解决办法: 更换阿里云镜像地址 #原来的地址是:https://registry.npm.taobao.org/ cnpm confi…...
Electron Forge【实战】阿里百炼大模型 —— AI 聊天
获取 apiKey 登录并开通阿里云百炼 https://bailian.console.aliyun.com/#/home 新人有半年免费的使用福利,在模型详情中,可以查看剩余的免费额度 https://bailian.console.aliyun.com/?tabmodel#/model-market/detail/qwen-turbo 在下方链接中创建 ap…...
Vue3实现高仿word自定义颜色选择器组件(支持 v-model)
目录 Vue3实现高仿word自定义颜色选择器组件(支持 v-model)需求分析大致效果需求功能实现所需技术从UI哪里拿到主题颜色标准色进行子主组件的v-model实现子组件布局实现子组件样式实现子组件全部代码:父组件调用方式完结 Vue3实现高仿word自定…...
.NET中,const和readonly区别
在.NET中,const和readonly都用于定义不可变的值,但它们在行为和使用场景上有显著区别。以下是两者的详细对比: 初始化时机 • const ◦ 编译时常量,必须在声明时赋值。 ◦ 值在编译时确定,并被直接嵌入到IL代码中&…...
力扣-206.反转链表
题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 class Solution { public:ListNode* reverseList(ListNode* head) {//头插法ListNode *p head;headnullptr;ListNode *temp nullptr;while (p! nullptr){tempp;pp->next;tem…...
五一去荣昌吃卤鹅?基于Java和天地图的寻找荣昌卤鹅店实践
目录 前言 1、卤鹅哥与甲亢哥的爆火事件 2、荣昌卤鹅产业的空间分布 3、使用Java 和天地图进行产业挖掘 一、地名检索简介 1、地名检索功能 2、地名检索API介绍 二、荣昌卤鹅检索实践 1、数据获取流程 2、天地图API请求构建 3、参数构建及调用 4、结果生成及本地保存…...
力扣-160.相交链表
题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返…...
CSS Position 属性完全指南
CSS 中的 position 属性是布局的基础,它决定了元素在页面中的定位方式。理解各种定位值的行为和适用场景对于构建灵活、响应式的布局至关重要。 position 属性的五个主要值 1. static(默认值) 元素遵循正常的文档流不受 top, right, botto…...
热度上升,25西电机电工程学院(考研录取情况)
1、机电工程学院各个方向 2、机电工程学院近三年复试分数线对比 学长、学姐分析 由表可看出: 1、力学25年相较于24年下降35分,为255分 2、机械工程25年相较于24年下降15分,为320分 3、仪器科学与技术25年相较于24年上升35分,为…...
R7周:糖尿病预测模型优化探索
🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、数据预处理 1.设置GPU import torch.nn.functional as F import torch.nn as nn import torch, torchvisiondevice torch.device("cuda"…...
使用Go语言实现轻量级消息队列
文章目录 一、引言1.1 消息队列的重要性1.2 为什么选择Go语言1.3 本文实现的轻量级消息队列特点 二、核心设计2.1 消息队列的基本概念2.1.1 消息类型定义2.1.2 消息结构设计 2.2 架构设计2.2.1 基于Go channel的实现方案2.2.2 单例模式的应用2.2.3 并发安全设计 2.3 消息发布与…...
QT窗口相关控件及其属性
widget,PushButton,lineEdit等都是基于QWidget延展出来的 并不是完整的窗口,而是作为窗口的一部分 真正的窗口是QMainWindow 菜单栏 Qt中的菜单栏是通过QMenuBar这个类来实现的,一个主窗口最多只有一个菜单栏,位于主…...
OceanBase 复合索引指南
一、 什么是复合索引,与单列索引的区别是什么 1.1 什么是复合索引 复合索引是指在数据库表中由两个或更多列共同构成的索引,也称多列索引。其独特之处在于,它并非仅针对单一列建立索引,而是对多个列的组合进行索引,从…...
蛋白质大语言模型ESM介绍
ESM(Evolutionary Scale Modeling)是 Meta AI Research 团队开发的一系列用于蛋白质的预训练语言模型。这些模型在蛋白质结构预测、功能预测和蛋白质设计等领域展现出了强大的能力。以下是对 ESM 的详细介绍: 核心特点 大规模预训练:基于大规模蛋白质序列数据进行无监督学…...
回归测试:保障软件质量的重要防线
在软件开发的生命周期中,变更无处不在——新功能添加、缺陷修复、性能优化或代码重构。但每一次变更都可能像投入平静水面的石子,引起意想不到的涟漪效应。这就是回归测试(Regression Testing)存在的意义,它是软件质量保障体系中不可或缺的一…...
51单片机中断
80C51 单片机的中断源及其默认优先级(从高到低): 优先级中断源中断号1️⃣外部中断 0 (INT0)IE0,编号 02️⃣定时器 0 (T0)TF0,编号 13️⃣外部中断 1 (INT…...
Ollama 常见命令速览:本地大模型管理指南
Ollama 常见命令速览:本地大模型管理指南 一、什么是 Ollama? Ollama 是一个轻量级工具,允许用户在本地快速部署和运行大型语言模型(LLM),如 Llama、DeepSeek、CodeLlama 等。其命令行工具设计简洁&#…...
LSPatch官方版:无Root Xposed框架,自由定制手机体验
在Android设备的自定义和优化过程中,Xposed框架一直是一个强大的工具。然而,许多用户因为Root操作的复杂性和风险而望而却步。今天,我们要介绍的 LSPatch官方版,就是这样一款基于LSPosed核心的无Root Xposed框架解决方案。它不仅提…...
星火燎原:大数据时代的Spark技术革命在数字化浪潮席卷全球的今天,海量数据如同奔涌不息的洪流,传统的数据处理方式已难以满足实时、高效的需求。
星火燎原:大数据时代的Spark技术革命 在数字化浪潮席卷全球的今天,海量数据如同奔涌不息的洪流,传统的数据处理方式已难以满足实时、高效的需求。Apache Spark作为大数据领域的璀璨明星,凭借其卓越的性能和强大的功能,…...
Spark-Streaming(三)
一. kafka和flume的整合 任务需求一:利用flume监控某目录中新生成的文件,将监控到的变更数据发送给kafka,kafka将收到的数据打印到控制台 1. 在flume/conf/目录下添加flume-kafka.conf文件 配置文件如下 2. 启动flume和kafka消费者 3. 传入数据 查看fl…...
深入了解C# List集合及两种常见排序算法:插入排序与堆排序
在C#中,List<T> 是一种常用的集合类型,它提供了对动态数组的灵活操作,能够方便地添加、删除和访问元素。而排序算法是计算机科学中非常重要的部分,插入排序和堆排序是两种经典的排序方法。本文将详细讲解C#中 List<T>…...
【软件设计师】模拟题三
以下是另外10道不重复的软考-软件设计师模拟试题,答案及解析统一放在最后: 试题部分 在软件工程中,敏捷开发(Agile Development)的核心实践之一是? A. 严格的文档编写 B. 基于里程碑的计划…...
什么是CN2专线?全面解析中国电信的高性能网络服务
一、CN2专线的定义 CN2专线(China Telecom Next Carrier Network)是中国电信推出的新一代高性能网络专线服务,旨在满足企业对高速、稳定、安全网络连接的深度需求。它基于优化的网络架构设计,通过分布式路由、多路径传输等技术&a…...
5.4 AgentLite:轻量级库,便于构建任务导向的LLM Agent系统
AgentLite 是一个轻量级、模块化设计的开源框架,专注于构建任务导向的基于大语言模型(LLM)的智能代理(Agent)系统。与其他功能丰富但较为复杂的框架(如 LangChain 或 AutoGen)相比,A…...
shell脚本3
for语句(一种循环控制结构,用于遍历列表或者范围内的元素,并对每个元素执行一段代码语法格式 for 变量名 in 取值列表 do 命令序列 done 入门示例: for i in 1 2 3 4 5 6 # for i in {1..6} 或 for i in …...
Kafka Tool(Offset Explorer)国内下载: Kafka可视化连接工具
Kafka Tool(现称为 Offset Explorer)是一款专为 Apache Kafka 集群设计的可视化连接客户端工具,主要用于消息的可视化浏览、消费者偏移量的管理、主题的管理以及数据的实时监控。作为一款商用软件,它以其直观的用户界面和强大的功…...
【JAVA】高并发场景下,如何保证数据的一致性和系统的稳定性?
数据一致性 数据库事务:使用数据库的事务机制,确保一组数据的相关操作要么全部成功,要么全部失败,从而保证数据的一致性。例如,在转账操作中,涉及到转出账户扣款和转入账户加款两个操作,这两个…...
【Linux篇】理解信号:如何通过信号让程序听从操作系统的指令
信号的悄然到来:当操作系统发出‘警告’时 一.信号1.1 基本概念1.2 产生信号方式1.2.1 键盘产生信号1.2.2 系统调用产生信号1.2.2.1 kill1.2.2.2 raise1.2.2.3 abort 1.2.3 调用系统命令1.2.4 异常1.2.5 软件条件产生信号1.2.5.1 pause1.2.5.2 alarm 二. 最后 信号的…...
统计服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
文章目录 一、背景二、说明三、页面四、代码前端MonitorServiceProcessPage.vueMonitorServiceProcessTable.vueMonitorServiceProcessTableButton.vueaddMonitorTask.vueproductOperation.vueshowMonitorTask.vueMonitorSystemLog.vueMonitorTask.vueMonitorTaskLog.vueRealti…...
WSL 安装过程整理
WSL 安装过程整理 一、WSL 安装教程二、安装后小技巧1、安装位置2、常用命令 三、在 WSL2 中安装 perf: 一、WSL 安装教程 史上最全的WSL安装教程 WSL2 最新最全帮助小白一步步详细安装教程 在WSL2 root 和普通用户的切换 轻松搬迁!教你如何将WSL从C盘迁…...
纯CSS吃豆人(JS仅控制进度)
一、效果展示 二、源码 html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Pac-Man SVG Demo…...
redis 数据类型新手练习系列——Hash类型
redis 数据类型 Redis 主要支持以下几种数据类型: (1)string(字符串): 基本的数据存储单元,可以存储字符串、整数或者浮点数。 (2)hash(哈希):一个键值对集…...
如何使用@KafkaListener实现从nacos中动态获取监听的topic
1、简介 对于经常需要变更kafka主题的场景,为了实现动态监听topic的功能,可以使用以下方式。 2、使用步骤 2.1、添加依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactI…...
区块链如何达成共识:PoW/PoS/DPoS的原理、争议与适用场景全解
引言 区块链技术的核心在于去中心化网络中的信任机制,而共识算法是实现这一目标的关键。不同的共识机制在效率、安全性、去中心化程度等方面各有取舍。本文将深入解析三种主流共识机制——工作量证明(PoW)、权益证明&am…...
Oracle for Linux安装和配置(11)——Oracle安装和配置
11.3. Oracle安装和配置 Linux上Oracle的安装及配置与Windows上差不多,只是安装软件的准备等有所不同,下面只对不同于Windows的部分进行较为详细的讲解,其他类似部分不再赘述。另外,无论选择使用虚机还是物理机,Oracle安装、配置和使用等方面几乎都是完全一样的。 11.3.…...
http协议详解附带c/c++服务器和客户端源码
http详解 代码部分HTTP请求结构示例HTTP客户端实现(使用Linux系统调用)简易HTTP服务器实现 深入解析HTTP协议:从基础到实践1. HTTP协议核心概念1.1 协议本质解读1.2 通信模型详解 2. 抓包分析实战2.1 Fiddler工具妙用2.2 报文结构拆解 3. 请求…...