从 RBAC 模型到 Shiro 落地,补齐权限这块短板

很多开发者在写权限时,往往陷入两个极端:要么直接在业务代码里写 `if (user.isAdmin())`,导致逻辑耦合严重且难以维护;要么对理论一知半解,配置 Shiro 时只知照抄 Demo,遇到自定义 Realm 或整合 Spring Boot 就束手无策。这门课正是为了解决这个“理论空泛、实战断层”的痛点。它不直接给你一堆现成的代码片段让你复制粘贴,而是先带你从头梳理权限设计的基石——RBAC(基于角色的访问控制)模型。你会看到作者如何一步步推导用户、角色、权限之间的表结构设计,以及为什么菜单权限需要与角色动态关联。这部分内容看似基础,却是后续所有框架配置的逻辑源头,缺了这一环,后面的 Shiro 配置只能是空中楼阁。

适合有一定 Java 基础、了解 Spring 基本用法,但在安全框架应用上存在空白的学习者。无论你是正在备考后端开发岗位,希望展现对系统安全设计的理解,还是在工作中遇到了权限混乱的历史包袱想要重构,这门课都能提供清晰的解题思路。建议学习时,务必跟着目录中的第一章“权限模型”部分,亲手画出 ER 图并建立数据库表,不要跳过任何一步。只有当你清晰地知道“用户属于哪个角色”、“角色拥有什么权限”、“权限对应哪些菜单或按钮”这三层关系如何在数据层落地后,再进入第二章的 Shiro 实战,才能理解每一个配置文件背后的业务含义,而不是仅仅为了跑通 Hello World。

掌握 Shiro 核心模块,实现前后端分离下的细粒度控制

课程的第二部分深入 Shiro 的核心模块,从 Subject、SecurityManager 到 Realm,层层拆解其内部工作机制。这里的关键不在于记住 API,而在于理解认证(Authentication)与授权(Authorization)的分离设计。你会学到如何自定义 Realm 来对接你之前设计的数据库表,如何通过注解或过滤器链实现 URL 级别的权限拦截,以及如何解决前端菜单根据角色动态显示的问题。对于转岗或查漏补缺的学习者来说,这部分是提升竞争力的关键。学完后,你将能够独立在一个 Spring Boot 项目中从零搭建一套完整的权限体系:包括用户登录认证、角色权限分配、接口层面的防越权访问,以及页面菜单的动态渲染。

资料包中的练习环节与理论讲解紧密配合。每一节实战视频后通常配有对应的代码任务,例如完成一个特定接口的权限校验或修复一个存在的越权漏洞。建议你采用“看一节、做一节、复现一节”的策略。不要急于求成,先把第一章的表结构和关联查询逻辑彻底吃透,再进入 Shiro 的配置环节。当你能独立解释清楚为什么需要重写 `doGetAuthorizationInfo` 方法,以及它在整个过滤器链中的触发时机时,你就真正掌握了企业级权限管理的主流方案。这门课的最终目标,是让你在面对任何需要权限控制的场景时,不再依赖网上零散的 StackOverflow 答案,而是能够基于模型设计,给出健壮、可扩展的技术方案。

课程目录

1-1 [权限模型] 权限模型简介 (09:17)
1-2 [权限模型] 角色和权限 (09:31)
1-3 [权限模型] 关于权限设计表关系 (20:34)
1-4 [权限模型] 配置用户到角色的关联 (21:14)
1-5 [权限模型] 显示用户的身份 (10:12)
1-6 [权限模型] 新增角色 (30:30)
1-7 [权限模型] 用户更新回显 (20:12)
1-8 [权限模型] 用户更新提示 (05:28)
1-9 [权限模型] 关于不同角色区别菜单需求 (06:54)
1-10 [权限模型] 查询用户对应的菜单 (16:45)
1-11 [权限模型] 页面显示用户的菜单 (09:52)
1-12 [权限模型] 关于项目中的权限问题 (10:16)
2-1 [Shiro实战] Shiro简介 (15:04)
2-2 [Shiro实战] Shiro基本模块 (07:52)
2-3 [Shiro实战] Shiro架构 (07:02)
2-4 [Shiro实战] 关于配置Shiro (14:55)
2-5 [Shiro实战] 查询用户所具备的权限 (13:11)
2-6 [Shiro实战] 修改登录的控制器 (21:12)
2-7 [Shiro实战] 配置用户认证中心 (06:57)
2-8 [Shiro实战] 测试Shrio认证 (13:06)
2-9 [Shiro实战] 关于权限验证 (16:56)
2-10 [Shiro实战] 没有权限的提示 (03:44)
2-11 [Shiro实战] 关于注解配置权限 (08:49)
2-12 [Shiro实战] 使用户Shiro的标签 (08:38)
2-13 [Shiro实战] 配置缓存提高性能 (02:56)
2-14 [Shiro实战] 密码加密 (09:47)
2-15 [Shiro实战] 系统退出 (08:48)