背景
单体应用在向微服务化架构演进时,需要考虑如何解决服务认证授权的问题。如果处理不好,会引发架构的混乱,带来安全、性能、难以维护的问题。 以最典型的包含WEB页面的具备登录态管理的系统为例。在最初阶段,登录鉴权一般通过cookie+redis分布式session来实现。
在服务化过程中,单体系统会拆分为多个微服务,这时微服务间会出现相互调用。对于使用Dubbo、Grpc等RPC协议的系统而言,由于给web页面提供的是HTTP接口,而给微服务间调用提供的RPC接口,架构比较清晰。而对于Springcloud技术体系,微服间调用和页面都是通过HTTP RESTFUL接口,这时候要解决两个问题:
-
web页面的登录校验
-
微服务之间的鉴权文章来源:https://www.toymoban.com/news/detail-434649.html
解决方案
透传cookie反模式
这种方案希望保持单体架构时的调用方式,微服务间调用接口复用了提供给WEB页面的接口。 为了解决登录鉴权问题,微服务间调用时,会将WEB页面的cookie透传至其他服务,这样鉴权逻辑可以保持不动。 很显然,该方案虽然看上去能很好work,但它是一种反模式设计,完全违背了微服务的初衷,微服务一定是无状态的!文章来源地址https://www.toymoban.com/news/detail-434649.html
到了这里,关于微服务架构下的认证鉴权解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!