[译]如何使用Spring Security和JWT保护您的REST API

原文链接:How to Secure your REST APIs with Spring Security & JSON Web Tokens (JWTs) 如果您快速搜索如何使用 JSON Web Tokens 在 Spring Boot 中保护 REST API,您会发现很多相同的结果。这些结果包含一种方法,该方法涉及编写自定义过滤器链并引入第三方库来编码和解码 JWT。 在看完这些令人费解且令人困惑的教程后,我说必须有一种更简单的方法来做到这一点。我做了任何直接接触 Spring Security 团队的人都会做的事情,我向他们寻求帮助。他们告诉我,Spring Security 确实使用 oAuth2 资源服务器内置了对 JWT 的支持。 ...

2023-09-19 · 11 min · 5296 words · chensoul

[译]使用@Async进行Spring Security上下文传播

1. 简介 在本教程中,我们将重点关注使用 @Async 传播 Spring Security 主体 默认情况下,Spring Security 身份验证绑定到 ThreadLocal - 因此,当执行流在带有 @Async 的新线程中运行时,它不会是经过身份验证的上下文。 这并不理想——让我们解决它。 2.Maven 依赖 为了在 Spring Security 中使用异步集成,我们需要在 pom.xml 的依赖项中包含以下部分: ...

2023-08-25 · 3 min · 1134 words · chensoul

[译]Spring Boot项目如何实现JWT认证?

没有人可以否认这样一个事实:安全性是生产就绪应用程序的一项重要功能。尽管我们可以使用内存身份验证、JDBC 身份验证或通过 UserDetailsS​​ervice 来保护一个 Web 应用程序的安全。但是,当一个应用程序在内部使用其他应用程序的服务时,使用 Web 服务概念实现安全性就变得很重要。在这种情况下,我们使用具有特定有效期的令牌来保护我们的应用程序。此外,我们将学习“如何在 Spring Boot 项目中实现 JWT 身份验证?”以整体了解 JWT(JSON Web Token)身份验证背后的概念。 ...

2023-08-18 · 14 min · 6832 words · chensoul

[译]Spring Boot项目如何实现Security?

如今,几乎每个客户都要求在实时应用程序中实现强大的安全功能。安全功能对于保持机密性、完整性和可用性的需求是非常有效的。现实世界中有很多类型的安全性,但我们作为开发人员将重点关注应用程序/软件安全性。 ...

2023-08-18 · 15 min · 7260 words · chensoul

[译]如何在Spring Boot2中使用UserDetailsService实现安全性?

继续上一篇关于实现 Spring Security 的两种不同方法的文章,在本文中,我们将学习第三种方法“如何使用 UserDetailsS​​ervice 在 Spring Boot 中实现 Security?”。经过上一篇文章后,我希望我们都非常熟悉安全性的基础知识,甚至是 Spring Boot 应用程序中的安全性基础知识。这次我们将创建一个用户注册表并将用户及其角色保存到数据库中。 ...

2023-08-18 · 12 min · 5658 words · chensoul

[译]如何在Spring Boot3中使用UserDetailsService实现安全性?

作为有关 Spring Security 的系列文章的继续,在本文中我们将学习“如何在 Spring Boot 3 中使用 UserDetailsService 实现 Spring Boot 中的安全性?”。经过前面的文章,我希望我们都非常熟悉安全性的基础知识,甚至 Spring Boot 应用程序中的安全性基础知识。 Spring Boot 3 发布后,我们将在这里实现“使用 Spring Boot 3 的 Spring Security UserDetailsService”。 ...

2023-08-18 · 13 min · 6048 words · chensoul

[译]没有WebSecurityConfigurerAdapter的Spring Security.md

在 Spring Security 模块的上下文中,WebSecurityConfigurerAdapter 是一个抽象类,根据 Spring 官方网站 2022 年 2 月 21 日发布的公告,该类已从 Spring Security 5.7.0-M2 中弃用。它通常用于扩展 configure() 方法由自定义配置子类实现。因此,它鼓励用户转向基于组件的安全配置。为了支持对这种新配置设计的更改,我们将讨论常见用例列表和未来建议的替代方案。因此,我们将讨论没有 WebSecurityConfigurerAdapter 的 Spring Security 用例的实现。 ...

2023-08-18 · 7 min · 3077 words · chensoul

[译]Spring Security - JWT

简介和概述 JSON Web Token 或 JWT(更常见的名称)是一种开放的互联网标准 (RFC 7519),用于以紧凑的方式在各方之间安全地传输可信信息。令牌包含编码为 JSON 对象的声明,并使用私有密钥或公钥/私钥对进行数字签名。它们是独立且可验证的,因为它们经过数字签名。 JWT 可以进行签名和/或加密。 ...

2023-08-16 · 11 min · 5024 words · chensoul

[译]Spring Security - OAuth2

OAuth 2.0 基础知识 OAuth 2.0 由 IETF OAuth 工作组开发并于 2012 年 10 月发布。它作为一种开放授权协议,使第三方应用程序能够代表资源所有者对 HTTP 服务进行有限访问。它可以在不泄露用户身份或长期凭证的情况下做到这一点。第三方应用程序本身也可以代表其使用它。 ...

2023-08-16 · 9 min · 4466 words · chensoul

[译]Spring Security - 使用数据库表单登录

内容 简介和概述 Spring Security 的基本组件 AuthenticationFilter 认证过滤器 AuthenticationManager 认证管理器 AuthenticationProvider 认证提供者 UserDetailsService 用户详情服务 PasswordEncoder 密码编码器 Spring 安全上下文 表单登录 使用数据库登录 登录尝试限制 入门(实用指南) 简介和概述 除了提供各种内置的身份验证和授权选项之外,Spring Security 还允许我们根据需要自定义身份验证过程。从自定义登录页面到我们自己的自定义身份验证提供程序和身份验证过滤器,我们几乎可以自定义身份验证过程的各个方面。 ...

2023-08-16 · 19 min · 9035 words · chensoul