前后端分离的 spring cloud 微服务中对 spring security 到底该怎么使用?感觉有点懵。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
polyang
V2EX    程序员

前后端分离的 spring cloud 微服务中对 spring security 到底该怎么使用?感觉有点懵。

  •  
  •   polyang 2021-08-19 11:54:14 +08:00 3016 次点击
    这是一个创建于 1514 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个 spring cloud 系列微服务中通常包含网关微服务、用户微服务、订单微服务(或者其他类似的业务微服务),对于此,我看网上很多文章都说到用 spring security oauth 2.0,然后认证时还需要跳转登录页面,但是现在都是前后端分离的,可能不可能使用认证服务的登录页面吧?
    PS:oauth 2.0 的流程我是清楚的,只是不知道 spring security 到底该怎么在 spring cloud 中应用。
    15 条回复    2024-04-24 13:31:16 +08:00
    harde
        1
    harde  
       2021-08-19 11:59:28 +08:00
    技术选型是架构的事,如果你不知道要不要用它,那么答案就是不要用。

    不要为了用某种技术而用某种技术,适合才是最好的。
    jimmyismagic
        2
    jimmyismagic  
       2021-08-19 12:02:58 +08:00
    可以不跳啊
    xuanbg
        3
    xuanbg  
       2021-08-19 12:57:26 +08:00
    别用,自己撸一个更简单
    MIUIOS
        4
    MIUIOS  
       2021-08-19 13:33:52 +08:00
    https://v2ex.com/t/796071#reply52 看我这个帖子 别踩坑了
    mmdsun
        5
    mmdsun  
       2021-08-19 13:41:36 +08:00 via Android
    可以用 spring cloud security

    有 OAuth2RestTemplate

    https://spring.io/projects/spring-cloud-security
    arbit
        6
    arbit  
       2021-08-19 14:24:42 +08:00
    之前也遇到这个问题,看了码云上开源的那几个用 cloud 搭建的项目,后台管理都是用的 oath2 中的密码模式登录,但是最新版本 security 废弃了 authorization Server,很多类过时了,项目也没有更新
    后面考虑了,其实基于角色的 rbac 权限模块也没多少内容,还不如自己实现灵活一点
    开源的可以参考下 sa-token 这个项目
    polyang
        7
    polyang  
    OP
       2021-08-19 14:29:01 +08:00
    @harde
    @xuanbg
    @totoro52
    @arbit 谢谢各位,其实我的意思是想知道一下怎么用,不一定生产中会用到,但起码得知道这个,不然以后面试啥的,别人问了答不出来就不好了。
    polyang
        8
    polyang  
    OP
       2021-08-19 14:29:23 +08:00
    @mmdsun 好的,谢谢,我去瞅瞅
    arbit
        9
    arbit  
       2021-08-19 14:33:33 +08:00
    @polyang #7 我理解的是像做后台管理的时候需要登录,前后端分离用的前端页面,然后登录接口用的 oauth2 的密码模式(授权码模式才需要跳转页面),登录成功后返回 token,再调用其他接口就是了
    然后当有其他三方的应用想接入当前平台的微服务,就用到授权码模式,可以定义一个登录页面,用于三方应用授权码登录了,登录成功后跳转会三方应用的页面
    MIUIOS
        10
    MIUIOS  
       2021-08-19 14:56:21 +08:00
    @polyang 我强烈不推荐你使用官方的 oauth 包 从 5.2 之前 跳动非常大 官方频繁改动 而且不能完全满足国内业务需求 如果真要 自己手撸比这个快
    x940727
        11
    x940727  
       2021-08-19 16:06:35 +08:00
    Spring Cloud 用 Spring Cloud Oauth 的依赖就可以了,如果你需要自己实现一个 OAuth 授权中心,Spring Authorization Server 2021 年 8 月 17 号正式移动到 Spring Project 里面了,估计已经可以正式环境使用了,就是资料少点,之前是 Experimental 的。
    Macolor21
        12
    Macolor21  
       2021-08-19 17:05:53 +08:00
    @x940727 正解
    jorneyr
        13
    jorneyr  
       2021-08-19 17:20:45 +08:00
    Web 端使用 Ajax 请求数据先到 Gateway,Gateway 发现要请求的资源需要登陆,而你还没登陆,就返回一个未登陆的结果,Web 端跳转到登录页面进行登陆,登陆的方式也是用 Ajax 提交,而不是 Spring Security 的 UsernamePasswordAuthenticationFilter (这个和登录网页一起用的)。
    cheng6563
        14
    cheng6563  
       2021-08-20 09:21:35 +08:00   1
    别用,这组件太乱了,搭项目时搞了大半天,过了几天要修改点需求,前面配的东西全忘了。
    KOMA1NIUJUNSHENG
        15
    KOMA1NIUJUNSHENG  
       2024-04-24 13:31:16 +08:00
    做免费 AI 生成图片的套壳软件?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 22:48 PVG 06:48 LAX 15:48 JFK 18:48
    Do have faith in what you're doing.
    ubao 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