当前位置: 首页 > news >正文

芋道框架 - 接口设置匿名访问

芋道框架 - 接口设置匿名访问

在芋道(yudao)框架中,有些接口需要开放给外部访问,例如文件上传、验证码获取等。要实现接口的匿名访问,主要有两个步骤:

1. 在接口上添加 @PermitAll

在需要匿名访问的接口方法上加上 @PermitAll 注解,表示该接口不需要认证即可访问。

示例:

@Tag(name = "文件上传")
@RestController
@RequestMapping("/admin-api/file")
public class FileUploadController {@Value("${yudao.file.upload-dir}")private String uploadDir;@PostMapping("/upload")@Operation(summary = "单文件上传")@PermitAllpublic AjaxResult uploadFile(@RequestParam("file") MultipartFile file) {try {// 1. 校验文件if (file.isEmpty()) {return AjaxResult.error("文件不能为空");}if (file.getSize() > 15 * 1024 * 1024) {return AjaxResult.error("文件大小不能超过15MB");}// 2. 调用工具类上传String filePath = FileUploadUtil.upload(file, uploadDir);// 3. 解析文件信息String originalFilename = file.getOriginalFilename();String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf("."));String newFileName = filePath.substring(filePath.lastIndexOf("/") + 1);// 4. 构建返回结果Map<String, Object> map = new HashMap<>();map.put("fileUrl", filePath);          // 完整相对路径map.put("originalSize", file.getSize());map.put("fileSuffix", fileSuffix);     // 文件后缀(如 ".png")map.put("newFileName", newFileName);   // 新文件名(带后缀)map.put("originalName", originalFilename);  // 原文件名return AjaxResult.success(map);} catch (Exception e) {return AjaxResult.error("上传失败:" + e.getMessage());}}}

2. 配置 application.yml 中的忽略路径

在配置文件中 tenant.ignore-urls 配置项中添加接口路径,允许不携带租户信息访问:

tenant:enable: trueignore-urls:- /admin-api/file/upload

完成以上两步后,接口就能在无需登录和无需携带租户编号的情况下访问。适用于如上传文件、验证码、回调等公开接口场景。

一线网资源-全网一站式平台


文章转载自:

http://h26Ig6du.httzf.cn
http://R1AXdKav.httzf.cn
http://OAqLIVQl.httzf.cn
http://z4t5aaAW.httzf.cn
http://p7ZNQvF5.httzf.cn
http://ZbYSnEDy.httzf.cn
http://f3jmv1pE.httzf.cn
http://ARnI0N0l.httzf.cn
http://W753lhkh.httzf.cn
http://td6bj3uR.httzf.cn
http://l7p4npod.httzf.cn
http://oxNhLvxd.httzf.cn
http://RvNwWBwE.httzf.cn
http://G0gzeeg0.httzf.cn
http://LRN9xFfm.httzf.cn
http://Hxg72Ejw.httzf.cn
http://ycSPAhOA.httzf.cn
http://Pr2BfqZG.httzf.cn
http://552iBq8j.httzf.cn
http://gw6m4MSH.httzf.cn
http://lla16Qyi.httzf.cn
http://aU3rYoSs.httzf.cn
http://8lXoyJdQ.httzf.cn
http://UEJc30m7.httzf.cn
http://frBdCMoR.httzf.cn
http://r2eDOU1H.httzf.cn
http://7iGBQkkI.httzf.cn
http://r3d2eVGL.httzf.cn
http://IuCNk7EH.httzf.cn
http://OtZBznel.httzf.cn
http://www.dtcms.com/a/214216.html

相关文章:

  • Day3 记忆内容:map set 高频操作
  • Spring Boot 接口开发实战指南
  • NumPy 数组计算:通用方法
  • 第12次03 :登录状态的保持
  • deepseek告诉您http与https有何区别?
  • 华清远见亮相第63届高博会,展示AI/嵌入式/物联网/具身智能全栈教学解决方案
  • 华为云物联网应用接入对于API及接口调试的梳理
  • 如何防止XSS攻击,保证前端的安全性?
  • 在 Unity 中,AOT和JIT的区别
  • 【Netty】- 聊天室1
  • 【Linux】进程信号(二):捕抓信号
  • Axure动态面板学习笔记
  • 如何做好一份“系统设计“文档
  • SQLMesh 用户定义变量详解:从全局到局部的全方位配置指南
  • 【身份证识别表格】把大量手机拍摄的身份证信息转换成EXCEL表格的数据,拍的身份证照片转成excel表格保存,基于WPF和腾讯OCR的实现方案
  • 【Linux】磁盘管理,虚拟机CentOS扩展根分区
  • STM32:Modbus通信协议核心解析:关键通信技术
  • RISC-V 开发板 MUSE Pi Pro RTSP 串流 CSI ov5647 摄像头
  • 基于本地模型+多级校验设计的高效缓存,有效节省token数量(有点鸡肋doge)。
  • 【Pandas】pandas DataFrame add_suffix
  • PSNR指标Pytorch实现
  • ABP VNext + Elsa Workflow:实现可视化流程引擎
  • Redis学习打卡-Day7-高可用(下)
  • ArcGIS 与 HEC-RAS 协同:流域水文分析与洪水模拟全流程
  • Python pytest的应用
  • Innodb底层原理与Mysql日志机制深入刨析
  • 塔能科技:化解工厂节能改造难题,开启能耗精准节能
  • AI时代新词-提示词、Agent、Chat:AI时代的交互新概念
  • Mysql在SQL层面的优化
  • Vue-01(Vue CLI创建项目以及文件配置说明)