[译]Spring Security - 表单登录、记住我和注销

内容

  • 简介和概述
  • 入门(实用指南)

简介和概述

Spring Security 附带了大量内置功能和工具,为我们提供方便。在这个例子中,我们将讨论其中三个有趣且有用的功能 -

  • 表单登录
  • 记住账号
  • 登出

表单登录

基于表单的登录是 Spring Security 提供支持的一种用户名/密码身份验证形式。这是通过 Html 表单提供的。

More »

[译]Spring Security 和 Spring Boot 入门

Spring Security 是一个有助于保护企业应用程序安全的框架。通过与 Spring MVC、Spring Webflux 或 Spring Boot 集成,我们可以创建一个强大且高度可定制的身份验证和访问控制框架。在本文中,我们将解释核心概念并仔细研究 Spring Security 提供的默认配置及其工作原理。我们将进一步尝试自定义它们并分析它们对示例 Spring Boot 应用程序的影响。

More »

[译]Spring Security:深入了解身份验证和授权

您可以使用本指南来了解 Spring Security 是什么以及其核心功能(如身份验证、授权或常见漏洞保护)如何工作。此外,还有全面的常见问题解答。

(编者注:大约 6500 字,您可能不想尝试在移动设备上阅读本文。将其添加为书签,稍后再回来。)

介绍

迟早每个人都需要为其项目添加安全性,在 Spring 生态系统中,您可以借助 Spring Security 库来实现这一点。

More »

[译]为 Spring Boot 应用程序创建优化的 Docker 映像

容器已成为打包具有所有软件和操作系统依赖项的应用程序,然后将其传送到不同环境的首选方式。

本文着眼于容器化 Spring Boot 应用程序的不同方法:

  • 使用 Docker 文件构建 Docker 镜像,
  • 使用 Cloud-Native Buildpack 从源代码构建 OCI 映像,
  • 通过使用分层工具将 JAR 的各个部分拆分为不同的层,在运行时优化映像。

示例代码

本文附有 GitHub 上的工作代码示例。

More »

[译]深入了解Spring事务管理:@Transactional

您可以使用本指南来简单实用地了解 Spring 使用 @Transactional 注释进行事务管理的工作原理。

唯一的先决条件?您需要对 ACID 有一个粗略的了解,即什么是数据库事务以及为什么使用它们。此外,这里不讨论分布式事务或反应式事务,但就 Spring 而言,一般原则仍然适用。

More »

Spring Security和OAuth2发展过程

Spring Security 的发展过程

Spring Security 是一个功能强大且广泛使用的安全框架,为企业级应用程序提供了全面的安全性。Spring Security 最初是 Acegi Security 项目的一部分,于 2004 年发布,现在已经成为 Spring 生态系统的核心组件。 Spring Security 的发展过程可以分为三个阶段:

More »

数据库如何设计树形结构

在 MySQL 中,设计树形结构的区域表有多种方式。以下是一些常见的方案:

  1. 父子关系(Parent-Child Relationship)模型:在这种模型中,每个行记录包含一个指向其父级的引用。可以使用一个额外的列来存储父级 ID,或者使用自连接表来表示关系。这种模型简单直观,易于理解和管理。
  2. 路径(Path)模型:在这种模型中,每个行记录都包含一个代表其完整路径的字段。路径可以是以某种分隔符(如斜杠)分隔的字符串,例如:/地区/国家/城市。通过解析和处理路径字段,可以轻松地查询父级、子级和兄弟节点。
  3. 嵌套集模型(Nested Set Model):这是一种基于左右值的模型,通过预先计算每个节点的左右值,可以高效地查询树形结构。每个节点都有一个左值和一个右值,用于表示其在树中的位置。这种模型适用于大型树结构,但需要特殊的操作来维护左右值。
  4. 物化路径(Materialized Path)模型:这是路径模型的一种改进版本,它使用额外的列来存储节点的层级关系。除了路径字段外,还可以添加一个表示节点级别的字段。这样可以更高效地进行查询,并且可以轻松地获取节点的父级、子级和兄弟节点。

父子关系(Parent-Child Relationship)模型

父子关系(Parent-Child Relationship)模型是一种在 MySQL 中设计树形结构的方式。在该模型中,每个区域记录包含一个指向其父级区域的引用。通过这种父子关系,可以建立区域之间的层级结构。

More »

周报-28|技术文档范例

前言

本篇是对 2023-07-102023-07-16 这周生活的记录与思考。首发在我的个人 博客,你可以移步了解更多或者给我留言。

读书、健身、投资、帮朋友、陪家人。

这是我的第 27 篇周报,由于工作的原因,前两周的周报是一起发布的,所以第 27 篇周报被跳过去了。

More »

[译]Spring Boot异常处理完整指南

处理异常是构建健壮应用程序的重要部分。 Spring Boot 提供了不止一种方法。

本文将探讨这些方法,并提供一些关于何时某种给定方法可能优于另一种方法的指导。

示例代码

本文附有 GitHub 上的工作代码示例

More »

[译]Spring Boot授权服务器 - 使用 Java 的资源服务器和客户端凭证示例

概述

在本文中,我们将创建一个授权服务器,为任何客户端生成 access_token。这称为 OAuth2 的 client_credentials 流程。它主要用于服务间通信。

我们将使用 spring boot oauth2 授权服务器依赖项来创建身份验证服务器。我们还将创建一个资源服务器和客户端来对其进行端到端测试。

More »