代码拉取完成,页面将自动刷新
请在以下地址复制 issue 模板进行提交:
https://sa-token.cc/doc.html#/fun/issue-template
看看依赖引对了吗 所有sa-token相关依赖版本号对齐了吗
这下面是gateway的依赖
<!-- Sa-Token 权限认证(Reactor响应式集成), 在线文档:https://sa-token.cc -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-reactor-spring-boot-starter</artifactId>
<version>1.37.0</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-redis-jackson</artifactId>
<version>1.37.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
这个是oauth的依赖
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.37.0</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-redis-jackson</artifactId>
<version>1.37.0</version>
</dependency>
然后我在gateway配置的
return new SaReactorFilter()
// 拦截地址
.addInclude("/**")
// 开放地址
.addExclude("/oauth/user/login")
// 鉴权方法:每次访问进入
.setAuth(obj -> {
SaRouter.match("/events/**").check(r -> {
});
SaRouter.match("/admin/**").check(r -> {
});
SaRouter.match("/advertisement/**").check(r -> {
});
SaRouter.match("/award/**").check(r -> {
});
})
// 异常处理方法:每次setAuth函数出现异常时进入
.setError(e -> {
// 设置错误返回格式为JSON
ServerWebExchange exchange = SaReactorSyncHolder.getContext();
exchange.getResponse().getHeaders().set("Content-Type", "application/json; charset=utf-8");
// return new ResultJsonUtil().fail(e.getMessage());
return SaResult.error(e.getMessage());
})
然后我访问了oauth的服务
{
"code": 500,
"msg": "defaultInstance",
"data": null
}
如果我把上面的配置.addInclude("/**")
这一行注释掉 就能访问到oauth那个接口 并有返回
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
问题已找到,spring boot版本与cloud版本低 升级版本 希望遇到同样问题的小伙伴同样处理就行
参考解决
登录 后才可以发表评论