优快云停更,所有博客已搬至 rainofshadow.top 个人服务器。 最新文章,移至 https://rainofshadow.top/
前段时间一直在研究微服务的认证和授权的方式,网上给了大致4种模式,感觉配置起来都不是很得心应手,偶然间看到了一个简单且较为完整的jwt+springsecurity的配置方式,这里先给出参考的github上的源码:
https://github.com/shuaicj/zuul-auth-example
但跟着配置后,问题还是很多,套用到自己的微服务框架上还是有些难度.
github工程包里有4个核心的类
common下的

认证中心和网关下各有一个security的配置类

简单解释下这些类都是干什么的,就不粘代码了,github上有....


这个是auth下的securityconfig
gateway下的securityconfig

这里总结下修改的不同点,以及踩的坑:
1.auth下的securityconfig采用的内存存储模式
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
auth.inMemoryAuthentication()
.withUser("admin").password(encoder.encode("admin")).roles("ADMIN", "USER").and()
.withUse
SpringCloud+Gateway+SpringSecurity+JWT 实现微服务认证授权详解

本文介绍了在SpringCloud框架下,使用SpringSecurity和JWT实现微服务认证授权的过程,包括从内存存储模式改为数据库存储、登录获取token的改进、验证码的模拟以及解决在微服务中header丢失的问题。作者分享了遇到的挑战和解决方案,以及对这种授权方式可能带来的网关压力的思考。


最低0.47元/天 解锁文章
1172

被折叠的 条评论
为什么被折叠?



