关于401的解决方案
来源:6-6 jwt改造之日志及错误处理(2)
莫得感情的码农
2019-10-24
假设现在加入一个新的微服务demo-test
,对外提供一个接口:
/info1
不需要token
就能访问
网关上的配置如下:
zuul:
routes:
api-test:
path: /test/**
serviceId: demo-test
由于出现401
的情况分为两种:
- 网关上的
401
- 微服务本身返回的
401
为了解决1
和2
,进而顺利访问/test/info1
,则网关和微服务的安全配置中都需要加入这一段配置【1】
.antMatchers("/test/info1").permitAll()
但个人认为这样的配置造成了网关和demo-test
的高耦合,因为后期如果demo-test
添加新的不需要token
就能访问的接口/info2
、/info3
,或者/info1
改成需要token
才能访问,这样一来,网关和微服务的配置【1】都需要修改。jojo
老师,我这样的解决方案是不是有问题?有没有更好的解决方案?
写回答
1回答
-
JoJo
2019-10-28
后面应该有讲,这个配置不能这么写死在代码里,应该是一个统一的权限服务,网关和应用都访问这个服务来判断是否有权访问。
00
相似问题