所有分类
  • 所有分类
  • 未分类

Shiro项目实战专栏介绍

本专栏在实战中使用Shiro,用最简单的代码、最常用的场景让你彻底掌握Shiro的用法,成为Shiro实战高手。本Shiro教程是全网最强的Shiro实战教程。

为什么本Shiro教程是全网最强?

自学精灵的特点

  1. 代码很全,下载一下源码压缩包,IDEA直接运行
  2. 包含有无权限、认证、鉴权等多种功能的对比与测试
  3. 控制了认证(authentication)和鉴权(authorization),覆盖了常见的场景
  4. 展示通过注解控制权限、通过URL控制权限等重要功能。
  5. 用的是Spring自带的等很稳定的工具
  6. 图很详细,有一步一步的测试流程。

结果是:学完即可掌握权限控制,代码可以直接用于项目,自己可以独立完成用户管理项目

其他资料的特点

  1. 代码不全,根本运行不起来
  2. 不包含有无权限、认证、鉴权等多种功能的对比与测试。
  3. 只控制了认证(authentication)或鉴权(authorization),覆盖面太窄
  4. 没有展示通过注解控制权限、通过URL控制权限等重要功能
  5. 用的是一些bug很多的第三方库
  6. 图很少,没有一步一步的测试流程。
  7. 代码无法直接用于项目,连个好demo都算不上。

结果是:学了等于白学用不到项目里

学完本专栏你将掌握的项目技能

  1. 使用Shiro整合JWT,用注解的方式控制用户权限(工作中常用,简单)
  2. 使用Shiro整合JWT,用url的方式控制用户权限(工作中常用,略复杂)
  3. 使用Shiro整合Session,用注解的方式控制用户权限(旧项目中常用)
  4. 使用Shiro整合Session,用redis控制用户权限(旧项目中常用)

学完上边的项目后,你可以独立地开发一个用户管理系统了!而用户管理系统一般是每个项目所必须的,是中高级Java开发必须掌握的。

学完本专栏你将能解答如下问题

  1. 用户的登录和退出接口怎么写?
  2. 用户的账号和密码怎么保存到数据库?密码如何加密?
  3. 如何控制用户登录的有效时间?比如:让用户登录2天后,必须重新登录,该怎么做?
  4. 有的接口允许匿名访问,有的必须登录才能访问,该怎么做?
  5. 登录之后一定就能访问所有接口了吗?
  6. 如果超级管理员有所有权限,订单管理员只能访问订单,产品管理员只能访问产品,该怎么做?
  7. 如果让你独立负责一个用户管理系统,你能完成吗?

本专栏的项目场景

本文假设做一个商城系统。角色如下

  • admin(超级管理员):有所有权限
    • 使用shiro通配符:*:*
  • productManager(产品管理员):有product(产品)的所有权限
    • product:add,product:delete,product:edit,product:view
  • orderManager(订单管理员):有order(订单)的所有权限
    • order:add,product:delete,product:edit,product:view

本专栏将带你体验项目的如下功能:

  1. 没有登录时只能访问允许匿名的接口,比如:登录
  2. 超级管理员登录后可以操作所有接口,比如:编辑产品、编辑订单
  3. 产品管理员登录后可以操作产品接口,比如:编辑产品,但不能操作订单接口,比如:编辑订单
  4. 订单管理员登录后可以操作订单接口,比如:编辑订单,但不能操作产品接口,比如:编辑订单
  5. 删除功能只有超级管理员能访问,产品管理员删不了产品,订单管理员也删不了订单
  6. 登录超时之后,无法访问接口。

项目实战

shiro用法是一个系列,如下:

  1. Shiro整合jwt-通过注解控制权限 – 自学精灵
  2. Shiro整合jwt-通过url控制权限 – 自学精灵
  3. Shiro整合Session-通过注解控制权限 – 自学精灵
  4. Shiro整合shiro-redis – 自学精灵
0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录