微服务认证鉴权做在那一层比较好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
awanganddong

微服务认证鉴权做在那一层比较好

  •  
  •   awanganddong 2022 年 8 月 25 日 3966 次点击
    这是一个创建于 1334 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在项目代码耦合在一起,现在打算进行重构,目的是用不同语言来对功能模块进行重构。

    现在是 nginx+lua 作为一个简单的网关,进行消息转发。

    现在比较困惑的就是,认证与鉴权是直接在网关层做,

    还是说在后端起一个鉴权服务来进行处理。

    这两者之间比较困惑, 所以想知道下主流的技术方案。

    16 条回复    2022-08-26 00:38:49 +08:00
    rocbyte
        1
    rocbyte  
       2022 年 8 月 25 日
    我觉得在网关层比较好,后面一马平川,像有些接口服务之间调用比较多的话,频繁的鉴权也影响效率
    helone
        2
    helone  
       2022 年 8 月 25 日
    网关层
    zzzzz001
        3
    zzzzz001  
       2022 年 8 月 25 日
    我的理解,网关 调用 鉴权服务。
    iamtsm
        4
    iamtsm  
       2022 年 8 月 25 日
    楼主用 nginx+lua 这块,像网关鉴权的话,市面上也比较多的一些优秀开源框架,kong, apisix, orange 都有类似鉴权插件的。或者自己写一个也行。
    coderxy
        5
    coderxy  
       2022 年 8 月 25 日
    lua 里面去调用鉴权服务进行鉴权。
    awanganddong
        6
    awanganddong  
    OP
       2022 年 8 月 25 日
    明白大家的意思了,自己用 nginx+lua 写的话,比较可控。
    wetalk
        7
    wetalk  
       2022 年 8 月 25 日
    当然 api 层,否则 req 进入到集群内部,不可能每个服务都做一次鉴权
    morty0
        8
    morty0  
       2022 年 8 月 25 日   2
    网关做通用鉴权, 鉴权服务做特殊业务的鉴权
    wongskay
        9
    wongskay  
       2022 年 8 月 25 日
    @morty0 +1
    qfdk
        10
    qfdk  
    PRO
       2022 年 8 月 25 日 via iPhone
    来你可以来抄作业了…… 鉴权在 gateway 做, 每个请求都知道是否鉴权了. 就算是前端的请求来了也知道是不是登录了. 虽然可以向 openid 获取 /user 来获取用户. 这样会先一步知道有没有登陆. 每个用户鉴权成功会有 session 在 gateway 产生,具体就是会有个 cookie 存在客户端,每个请求都带有他. 鉴权是单独做的 openid 服务器. gateway 也管着 token 续命.
    adoal
        11
    adoal  
       2022 年 8 月 25 日
    认证在网关,鉴权看情况
    Aliberter
        12
    Aliberter  
       2022 年 8 月 25 日
    最近刚做了这块,单独起的 auth 服务,然后在网关全局过滤器里通过 feign 调用 auth 服务进行鉴权
    runningman
        13
    runningman  
       2022 年 8 月 25 日
    nginx + lua 复杂吗
    xuanbg
        14
    xuanbg  
       2022 年 8 月 25 日
    网关!合适做身份认证和鉴权的只有网关。
    mmdsun
        15
    mmdsun  
       2022 年 8 月 25 日 via iPhone
    网关验证登陆、和通用鉴权验证签名之类的。

    具体接口的权限判断,下游微服务判断:
    比如你用 sping security 的话,控制器上直接加权限校验注解 @PreAuthorize 就行。
    saberscarlet
        16
    saberscarlet  
       2022 年 8 月 26 日
    网关做认证,鉴权,调用单独的 auth 服务,接口权限根据业务判断了,注意 token 的传递
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1004 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 59ms UTC 19:11 PVG 03:11 LAX 12:11 JFK 15:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86