当前位置: 首页 > 网络应用技术

3注意,微服务验证的优雅实现

时间:2023-03-08 15:59:18 网络应用技术

  这是第39篇文章“ Spring Cloud Advanced”。上一篇文章介绍了网关集成弹簧安全性的统一身份验证,以实现网关级别。

  如果您不知道,则可以阅读上一篇文章:实际的干货!Spring Cloud Gateway将OAuth2.0集成以实现分布式统一认证授权!

  最近订阅“春季云阿里巴巴”视频列的视频栏的读者经常问陈的两个问题,如下:

  今天,我们对如何通过三个评论解决上述两个问题进行了深入的讨论。

  先前的文章Chen都将身份验证和认证放在网关级别。结构如下:

  微服务的检查中还有另一个想法:将测试交给下游的各种微服务,而网关级别仅转发。

  这个想法实际上很容易实现。可以对网关级别的代码转换进行翻新以完成:实用的干货!Spring Cloud Gateway集成了OAuth2.0以实施分布式统一认证授权!

  网关的统一身份验证实际上依赖于重新授权的人。所有请求都需要通过权限管理器的登录用户权限验证。

  该机构经理还在Gateway身份验证文章中引入。在陈的“春季云阿里巴巴实际战斗”中,配置截距也非常简单,如下所示:

  除了白色列表的配置外,所有其他请求还必须由网关的网关管理器拦截。只有通过评估才能将路线释放到下游服务。

  在这里看到这个想法非常清楚。如果要将身份验证提供给下游服务,则只需要在网关级别上直接进行。

  步骤后,测试已分散到下游服务,因此如何拦截下游服务的身份验证?

  实际上,Spring Security提供了3种注射解决方案,以实现控制权限,如下所示:

  关于这三个注释,我将不再详细介绍它们。那些有兴趣的人可以检查官方文件。

  陈打算在这里使用三个构建的注释,而是定制三个注释,如下:

  1.@quirenslogin

  看到声誉,只有用户登录才能发布。代码如下:

  2.@需要emesspermissions

  看到声誉,只有在指定的授权下才能发布代码,代码如下:

  3.@quirteSroles

  看到声誉,只有指定角色才能发布代码,该代码如下:

  上述三个注释的含义必须得到充分理解,我不会在这里解释...

  通过注释,如何拦截它?在这里,Chen定义了切割表面要拦截。关键代码如下:

  实际上,中间的逻辑非常简单,即分析分析中的权限和特征与注释中指定的指定。

  该注释陈的逻辑尚未实现。它是根据业务的业务完成的。这被认为是一个思想问题...

  例如,有一个接口在“春季云阿里巴巴真实战斗”项目中添加了一篇文章。只能添加超级管道和管理员的角色。

  效果将不会在这里证明。实际效果:非Super -Controlled和Administrator用户用户登录以访问,并将直接拦截并返回到Universal。

  注意:这只是下游服务验证的问题,因此应用FEIG调用了吗?

  当然,它在这里使用。此处使用的切割方法。内部提要实际上是由HTTP使用的,它也适用于接口。

  例如,“春季云阿里巴巴真实战斗”项目中文章列表的文章列表的界面将通过假装评论服务中的界面中的文章总数。一旦将其添加到此处,呼叫将失败。代码如下:

  本文主要介绍如何将身份验证放入微服务中,并解决读者的疑问。在实际生产中,除非业务需求,否则Chen仍然建议将身份验证统一到网关中。

  原始:https://juejin.cn/post/7103784804872618020