为何要专门攻克 Shiro
在 Java Web 开发中,安全模块往往是初学者的盲区。很多人习惯于依赖 Spring Security 的自动配置,一旦脱离脚手架或需要细粒度控制权限,便显得捉襟见肘。Shiro 作为轻量级安全框架,以其简洁的 API 和灵活的架构著称。这门课旨在解决从“知道概念”到“能手写配置”之间的巨大断层。它不纠缠于冗长的理论推导,而是聚焦于如何让一个裸 Java 项目具备认证、授权及密码保护能力。对于想要深入理解安全底层逻辑,或者需要在非 Spring 环境(如纯 Servlet 项目)中集成安全模块的学习者而言,这是一门极具实用价值的必修课。
学习路径与核心难点
建议严格按照课程目录顺序推进,切忌跳跃。入门阶段,前四节内容构成了 Shiro 的核心骨架。你必须彻底理解「自定义 Realm」这一节,因为 Realm 是 Shiro 连接业务数据的桥梁,不懂 Realm 就谈不上后续的灵活配置。紧接着进入加密章节,这里涉及密码服务和匹配器,是防止用户数据泄露的关键,务必动手验证散列加密的效果,否则线上事故发生时你无法排查。授权部分是进阶重点,从基于角色的简单判断过渡到基于 JdbcRealm 的动态权限控制,这一过程能帮你建立完整的权限体系认知。最后三节关于 Spring 整合,虽然篇幅不长,但配置繁琐,容易因过滤器顺序或 Bean 注入问题报错,需耐心对照。
学完能独立承担的任务
学完本课程后,你将具备独立设计并实现企业级安全模块的能力。具体表现为:能够脱离复杂框架,从零搭建基于 Shiro 的认证系统;能够编写自定义 Realm,连接 MySQL 数据库完成用户身份核验;能够配置密码编码器,确保存储的密码具备抗彩虹表攻击的安全强度;能够基于 URL 或方法级别实现精细化的权限拦截。这些技能不仅适用于 Shiro 项目,更能让你透彻理解 Java 安全生态的底层原理,为后续学习 Spring Security 打下坚实基础。
资料配合与练习建议
视频资源是核心教材,但切勿被动观看。请准备一个标准的 Maven 工程,将每节课的代码逻辑手动敲入项目中。特别是「加密」和「整合」章节,建议故意制造错误(如修改盐值、颠倒过滤器链),观察异常现象以加深印象。不要只复制粘贴代码,要尝试解释每一行配置的作用。如果遇到环境配置问题,优先检查依赖版本兼容性,这是新手最常遇到的坑。通过这种“破坏性”练习,你能更快地掌握 Shiro 的运行机制。
课程目录
1-1 [Shiro入门] 基础入门 (52:09) 1-2 [Shiro入门] 默认配置 (13:13) 1-3 [Shiro入门] 使用JdbcRealm (31:10) 1-4 [Shiro入门] 自定义Realm (39:29) 2-1 [加密] 编/解码、散列加密 (46:50) 2-2 [加密] 密码服务和密码匹配器 (27:21) 2-3 [加密] 加密的JdbcRealm (48:28) 3-1 [授权] 基于角色/权限的授权 (39:15) 3-2 [授权] 基于JdbcRealm的授权配置 (32:26) 4-1 [Spring整合Shiro] Spring整合Shiro_01 (42:52) 4-2 [Spring整合Shiro] Spring整合Shiro_02 (24:19) 4-3 [Spring整合Shiro] Spring整合Shiro_03 (01:01:46) 4-4 [Spring整合Shiro] Spring整合Shiro_04 (45:57)





