后台权限控制及动态路由

需求

后台系统需要能实现不同的用户权限可以看到不同的功能。

用户只能使用他的权限所允许使用的功能。

功能设计

之前在我的SpringSecurity的课程中就介绍过RBAC权限模型。没有学习过的可以去看下 RBAC权限模型 。这里我们就是在RBAC权限模型的基础上去实现这个功能。

表分析

通过需求去分析需要有哪些字段。

建表SQL及初始化数据见:SGBlog\资源\SQL\sg_menu.sql

接口设计
getInfo接口

请求方式 请求地址 请求头
GET /getInfo 需要token请求头

请求参数:

响应格式:

如果用户id为1代表管理员,roles 中只需要有admin,permissions中需要有所有菜单类型为C或者F的,状态为正常的,未被删除的权限

{
    "code":200,
    "data":{
        "permissions":[
            "system:user:list",
            "system:role:list",
            "system:menu:list",
            "system:user:query",
            "system:user:add"
            //此次省略1000字
        ],
        "roles":[
            "admin"
        ],
        "user":{
            "avatar":"http://r7yxkqloa.bkt.clouddn.com/2022/03/05/75fd15587811443a9a9a771f24da458d.png",
            "email":"23412332@qq.com",
            "id":1,
            "nickName":"sg3334",
            "sex":"1"
        }
    },
    "msg":"操作成功"
}

getRouters接口
请求方式 请求地址 请求头
GET /getRouters 需要token请求头

请求参数:

响应格式:

前端为了实现动态路由的效果,需要后端有接口能返回用户所能访问的菜单数据。

注意:返回的菜单数据需要体现父子菜单的层级关系

如果用户id为1代表管理员,menus中需要有所有菜单类型为C或者M的,状态为正常的,未被删除的权限

数据格式如下:

相关推荐

  1. 后台权限控制动态

    2024-04-13 09:24:02       16 阅读
  2. vue3后台管理系统权限的实现

    2024-04-13 09:24:02       18 阅读
  3. 补充 vue3用户管理权限控制

    2024-04-13 09:24:02       32 阅读
  4. 02-登录页面、动态权限等模块开发

    2024-04-13 09:24:02       13 阅读
  5. 6-动态

    2024-04-13 09:24:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 09:24:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 09:24:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 09:24:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 09:24:02       20 阅读

热门阅读

  1. 利用机器学习库做动态定价策略的例子

    2024-04-13 09:24:02       13 阅读
  2. Rust与Go的对比

    2024-04-13 09:24:02       16 阅读
  3. arcgis js 动态绘制白膜

    2024-04-13 09:24:02       36 阅读
  4. halcon混合c#深度学习平整度怎么写

    2024-04-13 09:24:02       21 阅读
  5. Linux命令学习—linux 的硬件管理

    2024-04-13 09:24:02       17 阅读
  6. Python 装饰器

    2024-04-13 09:24:02       17 阅读
  7. 【QT教程】QT6_QML测试与调试技巧

    2024-04-13 09:24:02       12 阅读
  8. unicloud中文字段排序bug

    2024-04-13 09:24:02       43 阅读
  9. test4132

    test4132

    2024-04-13 09:24:02      18 阅读