「干货合集」构建用户管理微服务全集大放送

540 阅读3分钟
原文链接: mp.weixin.qq.com

道客船长干货合集大发送,点击图片即可跳转至完整文章,学习构建用户管理微服务一步到位!本系列一共由 7 个部分组成:

1.定义领域模型和 REST API

2.实现领域模型

3.实现和测试存储库

4.实现 REST 控制器

5.使用 JWT 令牌和 Spring Security 来实现身份验证

6.添加持久 JWT 令牌的 remember me 身份验证

7.合而为一

在《构建用户管理微服务》的第一部分中,我们会定义应用的需求,初始的领域模型和供前端使用 的 REST API。 我们首先定义用户注册管理用户的故事。

在上期文章中,作者定义了用户管理微服务的要求,并设计了它的初始领域模型。在得到许多来自社区和 Reddit 上许多有价值的正能量的评论,这个项目值得继续推进。在本文中,作者将详细介绍如何实现领域模型,在代码之外做了哪些决定。

在上期文章 中,有着相当数量的涉及到实现领域模型的编码,它们构成了用户注册过程中所需要的全部逻辑。在本文中,作者将带你继续前行:详细介绍一个完整的基于 JPA 的用户存储库实现,一个 JPA 的支撑模型和一些测试用例。

在上期文章中,我们了解数据访问层和存储库实现的方法,而在此之前,领域模型无需依赖于任何框架特定的类或其他要素,今天就让我们将 REST 控制器添加到领域控制模型的顶端。

在往期《构建用户管理微服务》系列的文章中,我们已经建立了业务逻辑、数据访问层和前端控制器, 但是忽略了对身份进行验证。随着 Spring Security 成为实际意义上的标准, 将会在在构建 Java web 应用程序的身份验证和授权时使用到它。在构建用户管理微服务系列的第五部分中, 将带您探索 Spring Security 是如何同 JWT 令牌一起使用的。

在上期文章中,使用 Spring Security 添加了基于用户名和密码的身份验证。但需要注意的是,JWT 令牌是在成功登录后发出的,并验证后续请求。创造长时间的 JWT 是不实际的,因为它们是相互独立的,且没有办法撤销它们。如果令牌被盗,其后果也无法挽回。因此,我想用持久令牌添加经典的 remember-me 模式认证。Remember-me 令牌存储在 Cookie 中 JWTs 作为第一道防线, 但是它们也被保存到数据库中, 并且追踪它们的生命周期。

至此为止,我们从零起步已经成功开发出用户管理应用程序的构建模块。在最后一部分,将向大家展示如何将之前的所学合而为一,来让应用程序正常地运行下去。

▼  点击查看更多微服务系列文章