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

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

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

在芋道(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://www.xdnf.cn/news/9008.html

相关文章:

  • 鸿蒙OSUniApp 实现的短信验证码登录功能#三方框架 #Uniapp
  • Numba模块的用法(高性能计算)
  • 类和对象(2)
  • LlamaFirewall:开源框架助力检测与缓解AI核心安全风险
  • C++项目中调用C#DLL的的方式
  • 人工智能工程师学习路线总结(下)
  • pytorch 15.2 学习率调度在PyTorch中的实现方法
  • 0526漏洞原理:漏洞验证-信息收集笔记(BurpSuite Professional,fofa,BUUCTF)
  • 互联网大厂Java求职面试:AI大模型与云原生架构融合中的挑战
  • ai学习--python部分-1.变量名及命名空间的存储
  • django三级联动
  • MongoDB 快速整合 SpringBoot 示例
  • 系统架构中的限流实践:构建多层防护体系(二)
  • 文件管理(第八章、九)
  • Linux常见设备
  • EPT(Efficient Prompt Tuning)方法,旨在解决提示调优(Prompt Tuning)中效率与准确性平衡和跨任务一致性的问题
  • 基于大模型的急性腐蚀性胃炎风险预测与诊疗方案研究报告
  • 【保姆级教程】TortoiseGit安装和Visual Studio2019插件配置详细说明
  • leetcode98.验证二叉搜索树:迭代法中序遍历与栈操作的深度剖析
  • noc多核芯片设计:booksim仿真从入门到精通2Router 类型及路由算法修改
  • 28. 自动化测试开发框架拓展之邮件模块开发
  • Google 发布AI 编程工具Jules
  • Kaggle-Predict Calorie Expenditure-(回归+xgb+cat+lgb+模型融合)
  • 成都鼎讯便携式雷达信号模拟器:重塑电磁训练新生态
  • 【鸿蒙开发】Hi3861学习笔记-雨滴传感器
  • node入门:安装和npm使用
  • C语言利用Windows Portable Devices API访问安卓设备文件
  • 什么是HTTP HTTP 和 HTTPS 的区别
  • 视频画质等级
  • openpi π₀ 项目部署运行逻辑(三)——策略推理服务器 serve_policy.py