开发喵星球

RuoYi-Vue-Plus 接口放行(324)

方式一:通过配置文件放行

application.yml 文件中配置接口放行路径:

# security 配置
security:
  # 不需要权限校验的路径
  excludes:
    # 静态资源放行
    - /*.html
    - /**/*.html
    - /**/*.css
    - /**/*.js
    # 公共资源
    - /favicon.ico
    - /error
    # swagger 文档路径放行
    - /*/api-docs
    - /*/api-docs/**
    # actuator 监控接口放行
    - /actuator
    - /actuator/**

方式二:使用 @SaIgnore 注解放行

可以通过注解的方式在类或方法上进行接口放行。

⚠️ 注意:动态路径会解析为通配符,因此设计接口路径时需要特别注意。

例如:路径 /get/{userId} 会自动解析成 /get/*

通过使用 @SaIgnore 注解,可以将接口设置为免登录即可访问的状态,具体用法如下:

@SaCheckLogin
@RestController
public class TestController {

    // 其它方法...

    // 该方法使用了 @SaIgnore 注解,允许游客访问
    @SaIgnore
    @RequestMapping("getList")
    public SaResult getList() {
        // 业务代码...
        return SaResult.ok(); 
    }
}

在上面的代码中,TestController 中的所有方法都需要登录后才能访问,唯独 getList 接口可以匿名访问。

@SaIgnore 注解的详细说明

注意事项

解决方法

为了避免因放行接口而导致的用户信息和权限问题,可以采取以下措施:

  1. 移除接口上的鉴权相关注解。
  2. 在接口实现中删除与用户信息相关的功能。
  3. 修改数据库实体类,移除自动注入的 createByupdateBy 字段,因为这些字段依赖于用户信息。
   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-09-04 11:34:29 阅读量:156
<<   >>


powered by kaifamiao