缺什么补什么:别只会调登录接口不懂权限链路
很多转岗或者快速上手做业务的同学,遇到权限校验往往只会写个拦截器,或者硬编码判断用户角色。一旦项目要求做细粒度的资源级控制,或者要求密码加盐、会话管理、缓存提速,立马就卡壳。这门课解决的核心问题就是:帮你把 Shiro 这套老牌安全框架的底层执行链路彻底打通。它不讲花架子,直接针对你平时写认证授权时留下的烂摊子。适合已经能熟练写增删改查,但对安全管理只停留在“抄配置”阶段的同学。如果你连过滤器链和 Realm 的作用都分不清,建议立刻停下来补这块,别假装自己懂权限,线上出越权漏洞可不是闹着玩的。
怎么练:从单机跑通到 SSM 整合实战
看资料的时候别光跟着视频点头,必须动手敲。建议先看前五个基础模块,重点啃自定义 Realm 和加密算法。很多人用 Shiro 做密码加密只会调个 MD5,连盐值怎么生成、哈希迭代次数怎么配都不知道,这绝对不行。看完加密这块,你要能自己写出一个带盐值的加密验证实例。接着直接跳到 SSM 框架整合部分,这是这门课的重头戏。资料里给了整合思路,你要自己把 Spring、SpringMVC、MyBatis 和 Shiro 拼起来,实现从登录认证到授权拦截的完整闭环。练习时,把基于注解的授权和基于页面的授权都跑一遍,对比两者在拦截异常时的区别。最后别忘了配缓存框架,很多同学在压测时发现每次请求都查数据库拿权限,就是因为没配缓存。资料里的配置线索你要逐行敲进项目里,报错了先自己看日志排查过滤器链顺序。
学完能独立回答的几个硬核问题
- Shiro 的认证和授权分别走哪条核心链路?Subject、SecurityManager 和 Realm 之间是怎么交互的?
- 自定义 Realm 时, doGetAuthenticationInfo 和 doGetAuthorizationInfo 这两个方法分别在什么时机被触发?返回的对象里必须塞什么数据?
- 在 SSM 整合实战里,如果用注解做权限控制,抛出的未授权异常被哪个拦截器捕获?怎么配置全局异常处理来返回友好的提示?
- Shiro 集成缓存后,当管理员在数据库里修改了某个用户的角色,缓存里的旧权限怎么失效?
把这几个问题答利索了,这门课才算没白看。别追求什么高大上的架构,先把这些基础链路嚼碎了咽下去,遇到权限报错你才不至于抓瞎。
课程目录
1 shiro安全管理框架简介 (13:11) 2 shiro框架认证实例 (24:57) 3 自定义realm域的使用 (15:22) 4 加密算法实例 (08:34) 5 shiro中加密算法的应用 (17:32) 6 通过shiro配置文件授权 (19:59) 7 通过shiro自定义域授权 (16:02) 8 整合spring+springMVC+mybatis框架 (23:01) 9 ssm框架实现登录功能 (13:15) 10 ssm框架中整合shiro框架 (23:51) 11 实现shiro登录认证功能 (28:55) 12 实现shiro的授权功能 (29:17) 13 shiro基于注解方式的授权 (20:38) 14 shiro基于jsp页面的授权 (14:09) 15 shiro实现退出功能 (08:22) 16 shiro集成缓存框架 (20:58) 17 shiro的session管理 (06:13) 18 springboot集成thymeleaf模板引擎 (11:55) 19 springboot框架整合shiro框架 (26:03) 20 shiro连接数据实现动态登录和列表显示 (15:02) 21 shiro权限过滤器设置 (18:55) 22 Thymeleaf集成shiro自定义权限标签的使用 (11:54)





