前景:当前项目使用Spring CLoud全家桶,用户鉴权逻辑统一写在Zuul的filter中,到达Zuul的请求中携带的token不正确,则返回鉴权失败,否则路由到指定微服务,filter中人为跳过登录接口(/login)校验
问题:系统运行业务后发现很多场景下不需要用户鉴权,例如网站首页的文章查看等,这时候如果还是在filter中一个个加上要跳过鉴权的接口uri,我感觉有点傻。请问有比较优雅的方式,可以实现控制接口是否需要被Zuul鉴权。
前景:当前项目使用Spring CLoud全家桶,用户鉴权逻辑统一写在Zuul的filter中,到达Zuul的请求中携带的token不正确,则返回鉴权失败,否则路由到指定微服务,filter中人为跳过登录接口(/login)校验
问题:系统运行业务后发现很多场景下不需要用户鉴权,例如网站首页的文章查看等,这时候如果还是在filter中一个个加上要跳过鉴权的接口uri,我感觉有点傻。请问有比较优雅的方式,可以实现控制接口是否需要被Zuul鉴权。
1 回答1.3k 阅读
2 回答771 阅读
这么久都没人回答,我自问自答吧~
想要在接口层面控制认证和限流等操作,粒度太细,目前我问了一圈,给出的方案基本是基于url字符串分析ORZ,与我现采取方案思路一致,做法可以弄的高级点,例如在api gateway中,把微服务的接口管理起来,接口信息可以由各个服务在启动的时候上报给gateway。
还有一种就是比较粗粒度的,以uri前缀区分是否需要进行认证,限流等,如/admin开头的uri需要认证,/reward开头的uri需要限流等