在 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
注解的详细说明@SaIgnore
优先级最高,当它与其他鉴权注解一起使用时,其他鉴权注解将失效。token
即可访问。token
的请求将无法获取用户信息和进行鉴权操作。为了避免因放行接口而导致的用户信息和权限问题,可以采取以下措施:
createBy
和 updateBy
字段,因为这些字段依赖于用户信息。powered by kaifamiao