如何使用SpringSecurity保护你的REST(1)

「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战

确保Web应用程序的安全是一个固有的复杂命题。Spring Security为Java开发者提供了一个强大的框架来满足这一需求,但这一强大的工具伴随着一个陡峭的学习曲线。

本文简要介绍了用Spring Security保护REST API背后的基本组件。我们将建立一个简单的应用,使用JSON Web Token(JWT)来存储用户的信息。

JWT由于其简单性和紧凑性,正在迅速成为持有授权信息的标准方法。

一个简单的安全REST API

下面是我们想让我们的简单应用做的事情。

  1. 提供一个带有按钮的用户界面,向后端端点发送一个请求。
  2. 提供一个用户名和密码字段供用户登录。
  3. 如果API按钮被点击,而用户没有登录,则用 "HTTP 401 Forbidden "响应拒绝端点调用。
  4. 如果用户已经登录,就向他们发送来自端点的响应。

这个简单的应用将展示使用Spring与JWT来保护REST API所需的所有组件。

在我们开始之前,我会给你一个鸟瞰图,然后对项目中的每个文件访问一次,以突出最重要的元素。

项目文件和布局见于图1的红色高亮区域。

image.png 1. 一个简单的安全 REST API 项目。

示例应用程序中涉及的类文件列在下面(链接到它们的来源)。

为了使事情尽可能简单,使你更容易理解,我抛弃了Java的最佳做法,把你要用的所有类放在一个包里。

还有一个index.html文件为来自/resources/static的简单前端服务。

感谢观看,如果您有兴趣,可以关注一下我,方便查看后续文章,一起学习,共同进步,不胜感激!