码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Vue + Koa 前后端分离项目实战3】使用开源框架==>快速搭建后台管理系统 -- part3 权限控制+行为日志


    走的越远,见识越多,认识的人越多,你就越能体会到:

    人这一辈子,你真的在意的,同时又在意你的人,就那么几个。

    这几个人,就是你的全部世界。


    完整章节回顾

    【Vue + Koa 前后端分离项目实战】使用开源框架==>快速搭建后台管理系统 -- part2 后端新增期刊功能实现_小白Rachel的博客-CSDN博客

    【Vue + Koa 前后端分离项目实战】使用开源框架==>快速搭建后台管理系统 -- part1 项目搭建_小白Rachel的博客-CSDN博客

    本博客教学视频来源于《0到1快速构建自己的后台管理系统》课程

    开源框架:林间有风: 林间有风团官方团队   

    文档地址:介绍 | Lin CMS 

    项目最终实现效果:lin-cms

    项目最终实现源码:https://gitee.com/xuruicong/my-lin-cms-project

     目录

    完整章节回顾

    一、权限控制

    1. 项目调整

    2.测试权限

     二、行为日志


    之前讲解中使用的多是Koa框架的内容,其中使用到【lin-cms】封装好的功能有:

    (1)校验器,可以通过继承简化代码封装。(LinValidator)

    (2)异常消息提示,成功消息提示 

    (3)权限控制

    (4)行为日志


    一、权限控制

    1. 项目调整

    在定义api时使用了基础的post get put delete 方法。

    这些都是KoaRouter()内置的,因此要使用lin-cms的权限控制,需要修改使用的类库。

    如 由原来的contentApi.post 变成contentApi.linPost

    相应的传参也发生了改变

    1. // 原生的Koa传递了两个参数:url路径,方法体
    2. contentApi.post('/', async ctx => {
    3. const v = await new AddContentValidator().validate(ctx)
    4. await ContentService.addContent(v.get('body'))
    5. ctx.success({
    6. msg: '期刊内容新增成功'
    7. })
    8. })

    原生的Koa传递了两个参数:url路径,方法体

    lin-cms传递了四个参数:函数的唯一标识,url路径,权限对象,接口的权限级别,

    1. // lin-cms传递了四个参数:函数的唯一标识,url路径,权限对象,接口的权限级别,
    2. contentApi.linPost(
    3. "addContent", // 函数唯一标识
    4. "/",
    5. {
    6. permission: "添加期刊内容", // 权限名称
    7. module: "内容管理", // 权限所属模块
    8. mount: true // 是否是全局 一般是true
    9. },
    10. groupRequired, // 接口的权限级别
    11. logger("{user.username}新增了期刊内容"),
    12. async (ctx) => {
    13. const v = await new AddContentValidator().validate(ctx);
    14. await ContentService.addContent(v.get("body"));
    15. ctx.success({
    16. msg: "期刊内容新增成功"
    17. });
    18. }
    19. );

    参考链接:模型管理和权限管理 | Lin CMS 

    2.测试权限

    增加了权限控制之后,重新打开postman测试。发现请求需要添加【令牌token】

     如何获取一个令牌(token)呢? 答:运行前端项目(npm run serve),登录账号,获取token

    在浏览器的F12-->Application-->localStorage-->accessToken  复制bear后面的内容就是token了。

    可以通过创建账户,使用不同的token来验证。

     二、行为日志

    参考链接:行为日志 | Lin CMS

    logger("{user.username}新增了期刊内容"),

    日志可以在前端项目中的【日志管理】模块查看到,每个用户进行一次操作,相应的操作就会被记录下来。

     

  • 相关阅读:
    web前端期末大作业 html+css+javascript汽车介绍网页设计实例 企业网站制作(带报告3490字)
    基于python实现Web自动化测试(selenium)、API自动化测试(requests)&附学习视频
    springboot+vue+elementUI 高校学生实习管理管理系统 #毕业设计
    MATLAB算法实战应用案例精讲-【优化算法】受精优化算法(FO)(附MATLAB代码实现)
    少有人走的路--心智成熟的旅程
    AJAX之跨域问题
    Docker系列第05部分:实战部署应用全流程
    Python基础(八):循环深入讲解
    web网页设计期末课程大作业——海贼王大学生HTML网页制作 HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
    高性能网络编程 - 解读5种I/O模型
  • 原文地址:https://blog.csdn.net/Sabrina_cc/article/details/126608838
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号