美文网首页Spring Cloud 相关文章
Web系统之微服务中的单点登录方式

Web系统之微服务中的单点登录方式

作者: 文竹小二 | 来源:发表于2018-06-12 16:57 被阅读1397次

    1、概述

    在前一篇文章(https://www.jianshu.com/p/2cb32d9cc11c)中阐述了几种常用的单点登录协议。这一篇将结合前后端分离和微服务中API Gateway来讲解单点登录模块,并给出不同场景中的一个方案。

    2、多站点域名相同方案(根据URL路径区分不同站点)

    image.png

    说明:由于域名统一,不同站点可以通过Cookie来共享身份认证标志。这时可以直接集成认证授权服务到API Gateway中。后端服务无需再进行分别验证。

    优点:好实现;认证授权可以放在网关,后端可以做到无侵入。
    缺点:网关负载变大;对域名限制要求严,只能用一个域名。

    3、多站点主域相同、子域不同

    image.png

    说明:由于子域名统一(比如:系统A的域名为A.example.com,系统B的域名为B.example.com),不同站点可以通过Cookie来共享身份认证标志。这时可以直接集成认证授权服务到API Gateway中。后端服务无需再进行分别验证。

    优点:好实现;认证授权可以放在网关,后端可以做到无侵入。
    缺点:网关负载变大;对域名限制要求较严,域名后缀要求相同。

    4、多站点域名不同

    多站点域名不同较前两者解决起来较复杂,因为域名不同就意味着不能通过共享Cookie方式来标志身份认证。一般的解决方案是采用第三个域名(即统一认证中心的域名),加上HTTP的重定向来解决(具体流程可以参考前一章节https://www.jianshu.com/p/2cb32d9cc11c)。

    4.1、CAS方案

    image.png
    优点:网关负载较前面两者低;对域名使用无限制;
    缺点:后端不能做到无侵入;认证授权服务无法集成在网关中;

    4.2、Spring security OAuth2 SSO方案

    image.png

    优点:网关负载较前面两者低;对域名使用无限制;。
    缺点:后端不能做到无侵入;认证授权服务无法集成在网关中。

    4.3、Kisso方案

    image.png
    优点:网关负载较前面两者低;对域名使用无限制;对Cookie做了加密;由于使用了公钥私钥,安全性较高;
    缺点:后端不能做到无侵入;认证授权服务无法集成在网关中;

    4.4 自定义方案

    image.png

    说明:此方案意图把统一认证中心放在API Gateway上,且做到后端真正的无侵入。

    优点:后端无侵入
    缺点:API网关负载大,不易维护(例如重定向配置等)。

    5、 总结

    可以看出重定向是实现单点登录的重要手段。每种方案都有优缺点,需要结合实际需求来决定选取哪种单点登录方案。

    相关文章

      网友评论

        本文标题:Web系统之微服务中的单点登录方式

        本文链接:https://www.haomeiwen.com/subject/nudheftx.html