RuoYi 权限体系源码解析:菜单、按钮、接口权限与数据权限如何协同 RuoYi 的权限体系表面上围绕“菜单管理”和“角色授权”展开,底层实际由两条相对独立的链路组成:一条负责目录、页面、按钮和接口操作的功能权限,另一条负责限制用户能够查询哪些部门或个人数据。本文以 RuoYi v4.8.3 当前源码为基线,从 sys_menu、Shiro UserRealm、@RequiresPermissions、Thymeleaf 按钮控制、@DataScope 与 MyBa 2026-08-16 Security #MyBatis #RBAC #权限控制 #RuoYi #Apache Shiro #数据权限
RFC 7 带读:Host-IMP Interface——从用户请求到硬件中断,ARPANET 主机网络栈的早期分层 前言读完 RFC 6 以后,Host 与 IMP 之间“到底应该怎么接”仍然只是一些散落的问题: 字符转换由谁完成; Host 应该向 IMP 提供哪些控制信息; IMP 应该怎样反馈状态; Link 字段到底多大; 出错以后谁负责处理。 到了 RFC 7,这些讨论第一次明显地收敛成一份软件组织设计草案。 RFC 7 的标题非常直接: Host-IMP Interface。 作者 Gérard 2026-08-16 RFC > 网络协议 #RFC #ARPANET #IMP #Buffer #Host-IMP Interface #Network Program #Handler #GORDO
RFC 6 带读:Conversation with Bob Kahn——Host 与 IMP 的边界到底应该有多聪明 前言RFC 6 可能是最不像“标准文档”的 RFC 之一。 它没有章节,没有正式协议语法,也没有长篇背景说明。Steve Crocker 只是在开头写了一句: 他昨天和 BBN 的 Bob Kahn 聊了一次。 随后把谈话中的几个技术结论记了下来。 全文真正讨论的内容只有三类: 1231. IMP 是否应该负责字符编码转换2. HOST 与 IMP 之间的控制接口应该暴露哪些能力3. IMP 2026-08-15 RFC > 网络协议 #RFC #ARPANET #IMP #Bob Kahn #Host-IMP Interface #ASCII #RFNM
RFC 5 带读:Decode Encode Language (DEL)——1969 年的可下载前端程序与跨终端交互 前言读完 RFC 1~4,再打开 RFC 5,会突然发现画风变了。 前几篇还在讨论 Host Software、IMP、Link、网络联调和 RFC 文档制度,RFC 5 却直接拿出了一门编程语言: DEL(Decode-Encode Language,解码-编码语言)。 而且这不是一份只有几页的概念提案。RFC 5 从网络交互模型一路写到语言语法,里面有: Function、Procedure 2026-08-15 RFC > 网络协议 #RFC #ARPANET #分布式系统 #DEL #NLS #Network Standard Translator #远程交互
RFC 4 带读:Network Timetable——ARPANET 上线前的系统集成与测试计划 前言前几篇 RFC 还在讨论 Host Software、Link、控制消息和文档协作规则,RFC 4 却突然换了一个非常“工程项目”的视角。 它的标题只有两个词:Network Timetable。 如果把它直译成“网络时间表”,很容易以为这只是一份项目排期。实际上,RFC 4 更像一份 ARPANET 初始四节点网络的系统集成、联调、验收和故障定位计划。 它没有定义新的报文格式,也没有给出一套 2026-08-14 RFC > 网络协议 #RFC #ARPANET #IMP #SRI #Network Timetable #系统集成 #网络测试
SOA 面向服务架构:参考架构、核心机制与工程实践 SOA(Service-Oriented Architecture,面向服务的体系架构)并不只是 SOAP、WSDL 或 ESB 的组合,而是一套围绕“服务”组织企业 IT 能力的方法。本文从业务驱动、松耦合和服务复用出发,系统梳理 SOA 的参考架构、适配器、服务总线、流程服务、信息服务、服务治理、安全、可靠消息与分布式事务等核心机制,并结合现代微服务、API Gateway、消息系统和可观测性 2026-08-14 Architecture #SOA #ESB #Web Services #WSDL #SOAP #服务架构 #分布式系统
Spring Security 6 动态 URL 权限控制:基于 AuthorizationManager 的 RBAC 实现 Spring Boot 3 进入 Spring Security 6 时代后,请求级授权的核心模型逐渐从 FilterSecurityInterceptor + AccessDecisionManager + Voter 转向 AuthorizationFilter + AuthorizationManager。对于后台管理系统、SaaS 平台等需要运行时调整权限的应用,可以把 URL、HTTP 2026-08-13 Spring #Spring Boot #Java #Spring Security #RBAC #AuthorizationManager #权限控制
Apache APISIX 从入门到原理:架构、路由、插件与生产实践 Apache APISIX 是建立在 NGINX、OpenResty 与 LuaJIT 之上的动态 API Gateway。它并不只是把请求从入口转发到后端,而是把路由、认证、限流、负载均衡、服务发现、灰度发布、缓存、可观测性等横切能力集中到流量入口统一治理。 本文从可运行的安装与 Admin API 实践出发,进一步拆解 APISIX 的数据面、控制面、etcd 动态配置、RadixTree 路 2026-08-13 DevOps #Kubernetes #Nginx #Apache APISIX #API Gateway #OpenResty #etcd #Microservices
APISIX + Nacos + Dubbo 整合实践:以订单服务为例 在 Dubbo 微服务体系中,外部客户端通常使用 HTTP/HTTPS,而内部服务使用 Dubbo RPC,Nacos 负责注册与服务发现。传统方案往往需要额外部署 HTTP Adapter,将 HTTP 请求转换为 Dubbo 调用。本文以订单查询与下单业务为例,整理 APISIX、Nacos 与 Dubbo 的整合方式,重点说明服务发现、HTTP→Dubbo 协议转换、Dubbo 3 2026-08-13 Architecture #Service Discovery #Dubbo #Nacos #API Gateway #Microservices #APISIX
Spring ResponseEntity 详解:完整控制 HTTP 响应 前言在 Spring MVC 或 Spring Boot 开发 REST API 时,我们最常见的写法可能是直接从 Controller 返回一个 Java 对象: 1234@GetMapping("/users/{id}")public User getUser(@PathVariable Long id) { return userSer 2026-08-13 Java > Spring #Spring Boot #Spring #Java #Spring MVC #ResponseEntity #RESTful API
Linux systemd 从入门到实战:Unit、systemctl、Service 与日志排障 前言在现代 Linux 发行版中,systemd 几乎已经成为绕不开的基础组件。我们平时执行的: 1234systemctl start nginxsystemctl enable nginxsystemctl status nginxjournalctl -u nginx 背后都属于 systemd 的服务管理体系。 如果只把 systemd 理解成“用来启动服务的工具”,其实低估了它。sys 2026-08-13 Linux #Linux #运维 #systemd #systemctl #journalctl #服务管理
使用 VNC 远程控制 Linux Desktop 服务器:TigerVNC 安装、配置与安全访问 前言日常管理 Linux 服务器时,大多数操作通过 SSH 就足够了,但有些场景仍然离不开图形桌面,例如: 运行只能通过 GUI 操作的软件; 使用浏览器、IDE、仿真工具或桌面应用; 远程维护一台安装了 GNOME、XFCE 等桌面环境的 Linux 工作站; 管理实验室、开发环境或内网 Desktop Server; 需要从 Windows、macOS 或另一台 Linux 机器直接控制 L 2026-08-13 Linux > 运维 #Linux #Rocky Linux #RHEL #VNC #TigerVNC #GNOME #Remote Desktop
VMware vCenter Server 8.0 接入 Windows Server 2022 AD 域:LDAPS 身份源与权限配置 本文专门介绍如何将 VMware vCenter Server 8.0 接入 Windows Server 2022 Active Directory,使用 AD 账号统一登录 vSphere Client,并通过 AD 安全组完成 vCenter 权限授权。 本文采用的方案是: 123456789Windows Server 2022 AD DS + DNS ↓LDAPS / TC 2026-08-13 服务器与虚拟化 > VMware #VMware #vSphere 8 #vCenter #Windows Server 2022 #Active Directory #LDAPS #SSO #LDAP #RBAC
VMware vCenter Server Appliance 8.0 安装部署教程:从 ESXi 到 VCSA 本文专门讲 VMware vCenter Server Appliance 8.0(VCSA 8.0)的安装与基础配置。 内容从部署前的 DNS、FQDN、时间和资源规划开始,完整覆盖 VCSA 两阶段安装、首次登录、数据中心与集群创建、ESXi 主机纳管、许可证、更新、备份和常见安装故障。 如果还需要让 vCenter 使用 Windows Server 2022 Active Director 2026-08-13 服务器与虚拟化 > VMware #VMware #vSphere 8 #vCenter #VCSA #ESXi #SSO #VAMI
DeepSeek-OCR:从“识字”到“理解文档”,重新认识 OCR 2.0 与上下文光学压缩 传统 OCR 解决的是“图片里写了什么”,而现代文档智能系统真正需要解决的问题已经变成了:这段文字在文档中扮演什么角色,它和表格、公式、图片、图表之间是什么关系,以及如何把整份 PDF 还原成机器可以继续理解、检索和推理的结构化知识。 DeepSeek-OCR 可以放在这个变化中理解。它不是单纯把字符识别得更准,而是把 OCR、版面理解、视觉语言建模和结构化生成放到统一的多模态框架中,并进一步提出 2026-08-13 AI > 多模态 > OCR #Markdown #DeepSeek-OCR #OCR 2.0 #VLM #DeepEncoder #Contexts Optical Compression #多模态 RAG #vLLM #Transformers #PDF
RFC 3 带读:Documentation Conventions——互联网最早的协作规则,为什么反而鼓励“不成熟” 前言RFC 1 和 RFC 2 讨论的是一个很具体的技术问题:ARPANET 的 Host 软件应该怎样工作。 到了 RFC 3,Steve Crocker 突然没有继续设计 Link、Message、Host-to-Host checksum 或远程终端,而是停下来写了一篇只有很短篇幅的文档: Documentation Conventions(文档约定)。 如果只看标题,它似乎不像一篇“技术 2026-08-13 RFC > 网络协议 #RFC #ARPANET #Network Working Group #Documentation Conventions #Internet History #IETF
Spring 工程实践中的隐式规则:数据访问、事务、HTTP 调用与测试的常见陷阱 Spring 工程实践中的隐式规则:数据访问、事务、HTTP 调用与测试的常见陷阱Spring 最大的优势,是把大量底层细节包装成统一、易用的抽象;Spring 最容易让人踩坑的地方,也恰恰来自这些抽象。 很多问题看起来互不相关:Redis 明明写进去了却读不到、事务抛了异常却没有回滚、内层事务明明被 try-catch 了却把外层事务一起回滚、切换数据源的注解看起来执行了但 SQL 仍然落在原库 2026-08-12 Java > Spring #Spring Boot #Spring #Redis #AOP #Spring Data #Spring Transaction #RestTemplate #Spring Test #Cassandra
Spring MVC 请求处理全链路:从 URL、Header、Body 到 Validation、Filter、Security 与异常处理 从一次 HTTP 请求在 Servlet 容器中的完整生命周期出发,系统梳理 Spring MVC 的 URL 匹配、参数解析、Header、Body 编解码、Validation、Filter、Spring Security 与异常处理机制,并结合源码调用链解释常见错误、排查方法和现代 Spring 的版本演进。 2026-08-12 Java > Spring #Spring Boot #Java #Validation #Spring Security #Spring MVC #HTTP #Exception #Servlet #Filter
从 Bean 到 Web 请求:Spring 核心运行机制、AOP、事件与常见陷阱 Spring 好用的地方,恰恰也是它最容易让人掉坑的地方:大量重复、繁琐的对象创建、依赖装配、生命周期管理、代理增强和 Web 请求分发工作都被框架接管了。开发者只需要写几个注解,程序往往就能运行;但一旦包结构、Bean 数量、代理方式、初始化时机或监听体系发生变化,那些平时看不见的约定就会突然暴露出来。 理解 Spring,不能只停留在“这个注解怎么用”。更有效的方式,是建立一条完整的运行链路: 2026-08-12 Java > Spring #Spring Boot #Spring #Spring MVC #AOP #IoC #DI #Bean #ApplicationEvent #DispatcherServlet
安全编码体系:从信任边界、最小权限到纵深防御 安全编码体系:从信任边界、最小权限到纵深防御软件安全很容易被误解成“安全团队的工作”:防火墙、WAF、杀毒软件、漏洞扫描器、入侵检测、零信任网关都部署好了,应用似乎就安全了。 真正进入代码层以后,会发现事情恰好相反。很多严重安全事故的起点并不是一段“看起来像黑客代码”的实现,而是一次普通的字符串处理、一次整数加法、一次数组遍历、一次异常打印、一次对象序列化,甚至只是调用了一个自己没有真正理解的 A 2026-08-12 软件工程 #Java #安全编码 #Secure Coding #Software Security #代码质量