Skip to content

接口放行

使用方式一:配置文件

yaml
# security配置
security:
  # 排除路径
  excludes:
    # 静态资源
    - /*.html
    - /**/*.html
    - /**/*.css
    - /**/*.js
    # 公共路径
    - /favicon.ico
    - /error
    # swagger 文档配置
    - /*/api-docs
    - /*/api-docs/**
    # actuator 监控配置
    - /actuator
    - /actuator/**

使用方式二:@SaIgnore注解

支持在类或方法上放行
注意: 动态路径会解析成通配符 请设计好接口路径避免问题

例如: /get/{userId} 会解析成 /get/*

使用 @SaIgnore 可表示一个接口忽略认证

java
@SaCheckLogin
@RestController
public class TestController {
    
    // ... 其它方法 
    
    // 此接口加上了 @SaIgnore 可以游客访问 
    @SaIgnore
    @RequestMapping("getList")
    public SaResult getList() {
        // ... 
        return SaResult.ok(); 
    }
}

如上代码表示:TestController 中的所有方法都需要登录后才可以访问,但是 getList 接口可以匿名游客访问。

  • @SaIgnore 修饰方法时代表这个方法可以被游客访问,修饰类时代表这个类中的所有接口都可以游客访问。
  • @SaIgnore 具有最高优先级,当 @SaIgnore 和其它鉴权注解一起出现时,其它鉴权注解都将被忽略。
  • @SaIgnore 同样可以忽略掉 Sa-Token 拦截器中的路由鉴权。

注意事项

解决方案

  • 删除接口上的鉴权注解
  • 删除接口内获取用户信息功能
  • 删除数据库实体类 自动注入 createBy updateBy 因为会获取用户数据

基于 MIT 许可发布