在filter进行check_token是不是太麻烦了?

来源:4-9 Zuul网关安全开发(二)

慕函数2254565

2020-11-17

可以考虑把zuul做为资源服务器即可,在ResourceServerConfigurerAdapter的适配器类上:
1、在配置http时,所有的访问"/oauth/**"全部放行,其它的根据需要一般都要authorzation。
2、去认证服务器认证
//使用此方法可以检验token———用于网关上
@Bean
public RemoteTokenServices tokenServices() {
RemoteTokenServices tokenServices = new RemoteTokenServices();
tokenServices.setCheckTokenEndpointUrl(“http://localhost:8080/oauth/check_token”);
tokenServices.setClientId(“getway”);
tokenServices.setClientSecret(“secret”);
return tokenServices;
}

写回答

2回答

JoJo

2020-11-30

ok.

0
1
慕函数2254565
获取token老报401错误,原因找到了,zuul默认不往后面传递header,加入 sensitiveHeaders后就可以了。但是这种方法不是太好,各服务间还需要做为资源服务器,使用注解方式配置权限,没有直接在zuulfilter中使用对比路径权限可以解耦权限服务
2020-12-02
共1条回复

慕函数2254565

提问者

2020-11-30

我还是觉得你的合理,便用路径验证权限,把所有服务授权解耦,我的那种做法看别人做的,无非把zull做为终端服务,而且 RemoteTokenServices不用@Bean,yml配置更方便,而这又起不到验证权限的目的,后面我试了一下,报403,后面考虑可能是zull授权不对,由于我知识有限,如果这条路可行,能否给大伙再讲一下,更新一下视频,谢谢啦,我看的别人的方法:https://www.youtube.com/watch?v=ocVotKAqoV8,但我自己做报403晕啊!
0
0

Spring Cloud微服务安全实战 可落地的安全方案

从API到复杂微服务场景,实战部署可落地的安全方案。

1029 学习 · 370 问题

查看课程