Magic-api使用自定义鉴权类CustomAuthorizationInterceptor 后,页面收不到调试信息

news/2025/1/31 7:02:37/

加magic-api交流群请教群主解决了这一问题。
springboot版本2.3.6Release
Magic-api版本2.1.0
分为三步
1、配置编辑器
2、前端获取token
3、后端解析token

1、配置编辑器

参考:https://www.ssssssss.org/magic-api/pages/config/editor/#getmagictokenvalue

 getMagicTokenValue: function(){// 自行获取magic-api需要的tokenreturn token;  }

指定后台配置文件:
magic-api.editor-config=classpath:./magic-editor-config.js

2、前端获取token

magic-editor-config.js:

var MAGIC_EDITOR_CONFIG = {title: 'magic-api',checkUpdate: false,header: {skin: false,    // 屏蔽皮肤按钮document: false,    // 屏蔽文档按钮repo: true,    // 屏蔽gitee和githubqqGroup: true  // 屏蔽加入QQ群},getMagicTokenValue: function(){// 自行获取magic-api需要的token 这里我的magic-qpi在iframe里父级url中有tokenvar token = "";var currentTopHref = window.top.location.href;console.log('currentTopHref', currentTopHref);var reg = new RegExp("(^|&)token=([^&]*)(&|$)");var r = currentTopHref.match(reg);if (r != null){token = unescape(r[2]);}return token;}
}

3、后端解析token

CustomAuthorizationInterceptor.class:

@Component
public class CustomAuthorizationInterceptor implements AuthorizationInterceptor {/*** 配置是否需要登录*/@Overridepublic boolean requireLogin() {// 設置需要登錄 这里必须设置为true 不然后边鉴权时 magicUser为空return true;}@Overridepublic MagicUser getUserByToken(String token) throws MagicLoginException {//對登錄人token處理 獲取magicUser信息MagicUser magicUser = TokenUtil.getMagicUser(token);if(magicUser!=null){return magicUser;}throw new MagicLoginException("未登录");}/*** 是否拥有对该接口的增删改权限* 此方法可以不重写,则走默认的 boolean allowVisit(MagicUser magicUser, MagicHttpServletRequest request, Authorization authorization) 方法*/@Overridepublic boolean allowVisit(MagicUser magicUser, MagicHttpServletRequest request, Authorization authorization, MagicEntity entity) {// Authorization.SAVE 保存// Authorization.DELETE 删除// Authorization.VIEW 查询// Authorization.LOCK 锁定// Authorization.UNLOCK 解锁// 自行写逻辑判断是否拥有如果有,则返回true,反之为false// 这里存疑 entity.getCreateBy(), entity.getUpdateBy() 会为空return hasAuth(magicUser, entity.getCreateBy(), entity.getUpdateBy(), authorization);}/*** 是否拥有对该分组的增删改权限* 此方法可以不重写,则走默认的 boolean allowVisit(MagicUser magicUser, MagicHttpServletRequest request, Authorization authorization) 方法*/@Overridepublic boolean allowVisit(MagicUser magicUser, MagicHttpServletRequest request, Authorization authorization, Group group) {// Authorization.SAVE 保存// Authorization.DELETE 删除// Authorization.VIEW 查询// 自行写逻辑判断是否拥有如果有,则返回true,反之为false// 这里存疑 entity.getCreateBy(), entity.getUpdateBy() 会为空return hasAuth(magicUser, group.getCreateBy(), group.getUpdateBy(), authorization);}
}

http://www.ppmy.cn/news/638864.html

相关文章

华侨大学教务系统评教脚本----一键评教

一键评教脚本 每到期末,我们就会面临一个繁琐的事情——评教。重复的工作总是使人厌烦,所以今天我们带来了华侨大学教务处一键评教的脚本。 食用方法: 浏览器进入评教页面(要在具体的评教页面); 键盘按下…

江西省科学院计算机培训学院官网,江西科技学院教务管理系统入口https://jwc.jxut.edu.cn/...

1、 江西科技大学教务管理系统的引入与介绍 江西科技大学是经国家教育部批准的普通本科院校。 江西蓝田学院的前身是1994年成立的江西蓝田学院。学校自成立以来,坚持“科教兴国、兴国办学”的办学宗旨,坚持公益性方向,以市场需求为导向&#…

Java项目:SSH学生学籍管理系统及教务管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统包含管理员、教师、学生三种角色; 管理员角色包含以下功能: 管理员登录,学科管理,班级管理,教师管理,学籍信息管理,课表管理…

教务管理系统学生端

while(1){printf("请输入你所需要的操作编码:\n");printf("0: 返回主页面\n");printf("1: 查看成绩\n");printf("2: 修改密码\n");printf("3: 查找班级分数\n");printf("4: 查找学科 \n");printf(&quo…

数据库(教务管理系统)

1.2需求分析 1.2.1 功能需求 系统的用户有三个不同的角色,分别是教务教师,管理人员,学生,角色不同,需求不同。通过分析,各用户的需求如下: 1.2.1.1 教师用户需求 教师可以通过系统录入成绩&…

教务查询系统简介

教务查询系统简介 项目核心代码展示 service层如下: Teacher老师Service层: public interface TeacherService {//根据id更新老师信息void updateById(Integer id, TeacherCustom teacherCustom) throws Exception;//根据id删除老师信息void removeB…

教务管理系统

java编写的简单的教务系统,数据库采用mysql。主要功能是学生选课、教师成绩录入、管理员管理老师和学生等。 文件:n459.com/file/25127180-476895768 以下内容无关: -------------------------------------------分割线------------------…

教务系统一键评教

利用浏览器的开发者模式实现“一键评教”,本教程针对金智教务系统 步骤 1、打开教务系统的评教页面。 2、按下键盘快捷键 F12,或者点击鼠标右键打开浏览器的开发者工具,然后选择控制台(Console)。 3、复制以下 Java…