查看: 990| 回复: 2
收起左侧

spring security在gateway中怎么用?

本楼:   👍  0
0%
0%
0   👎
全局:   2
100%
0%
0

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x

最近学了spring security,也学习了一点gateway的皮毛。然后这两个项目单独跑没问题,但在微服务中,spring security不再是只对该项目下的接口进行权限控制,而是要对其他项目模块的接口进行权限的访问控制,这一切要怎么做?有人有做过这种项目吗?

上一篇:找人一起学设计CAD
下一篇:调用chatgpt的编程实在是太反直觉了
infrared628 2024-10-9 08:36:23 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   1092
98%
2%
27
Microservice中你想用spring security跟单体略有不同,得用distributed的验证模式。

首先用户登录,请求抵达API gateway(service1),这个可以用Spring Cloud Gateway来实现,这时在API gateway后面你需要一个centralized的authentication server(service2)用来验证用户身份,可以用Spring Security OAuth2来实现,验证成功后authentication server会返回一个token给用户,因为通常都是https requests,所以用JWT Token较多;

然后,用户新的request拿着上一步的token,发request到API gateway(service1),因为有了token,这时候就不route去authentication server(service2)的login界面了,API gateway(service1)会校验这个token,成功后API gateway(service1)会redirect到你真正的业务serviceA,serviceB。。。

最后,业务services处理用户需求并返回用户response
回复

使用道具 举报

 楼主| 剑眉星目的佛珠 2024-10-10 13:33:53 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   2
100%
0%
0
infrared628 发表于 2024-10-9 08:36
Microservice中你想用spring security跟单体略有不同,得用distributed的验证模式。

首先用户登录,请求 ...

谢谢!!这个思路懂了,但是代码好难实现,搞了好久。不过我找到了一门这个课希望有用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

Advertisement
>
快速回复 返回顶部 返回列表