S
S
Spring 实战(第五版)
搜索文档…
S
S
Spring 实战(第五版)
Spring 实战(第 5 版)
第一部分 Spring 基础
第 1 章 Spring 入门
第 2 章 开发 Web 应用程序
第 3 章 处理数据
第 4 章 Spring 安全
4.1 启用 Spring Security
4.2 配置 Spring Security
4.3 保护 web 请求
4.4 了解你的用户
4.5 小结
第 5 章 使用配置属性
第二部分 集成 Spring
第 6 章 创建 REST 服务
第 7 章 调用 REST 服务
第 8 章 发送异步消息
第 9 章 集成 Spring
第三部分 响应式 Spring
第 10 章 Reactor 介绍
第 11 章 开发响应式 API
第 12 章 响应式持久化数据
第四部分 云原生 Spring
第 13 章 服务发现
第 14 章 配置管理
第 15 章 处理失败和时延
第五部分 部署Spring
第 16 章 使用 SpringBoot Actuator
第 17 章 管理 Spring
第 18 章 使用 JMX 监控 Spring
第 19 章 部署 Spring
由
GitBook
提供支持
4.1 启用 Spring Security
保护 Spring 应用程序的第一步是将 Spring Boot security starter 依赖项添加到构建中。在项目的 pom.xml 文件中,添加以下 <dependency> 内容:
1
<
dependency
>
2
<
groupId
>
org.springframework.boot
</
groupId
>
3
<
artifactId
>
spring-boot-starter-security
</
artifactId
>
4
</
dependency
>
Copied!
如果正在使用 Spring Tool Suite,这甚至更简单。右键单击 pom.xml 文件并从 Spring 上下文菜单中选择 编辑 Starters。将出现 “启动依赖项” 对话框。检查核心类别下的安全条目,如图 4.1 所示。
图 4.1 使用 Spring Tool Suite 添加 security starter
上面的依赖项是保护应用程序所需的唯一的东西。当应用程序启动时,自动配置将检测类路径中的 Spring Security,并设置一些基本的安全性配置。
如果想尝试一下,启动应用程序并访问主页(或任何页面)。将提示使用 HTTP 基本身份验证对话框进行身份验证。要想通过认证,需要提供用户名和密码。用户名是
user
。至于密码,它是随机生成并写入了应用程序日志文件。日志条目应该是这样的:
1
Using default security password: 087cfc6a-027d-44bc-95d7-cbb3a798a1ea
Copied!
假设正确地输入了用户名和密码,将被授予对应用程序的访问权。
保护 Spring 应用程序似乎非常简单。Taco Cloud 应用程序的已经被保护了,我想我现在可以结束这一章,进入下一个主题了。但是在我们开始之前,让我们考虑一下自动配置提供了什么样的安全性。
只需要在项目构建中添加 security starter,就可以获得以下安全特性:
所有的 HTTP 请求路径都需要认证。
不需要特定的角色或权限。
没有登录页面。
身份验证由 HTTP 基本身份验证提供。
只有一个用户;用户名是
user
。
这是一个良好的开端,但我认为大多数应用程序(包括 Taco Cloud)的安全需求将与这些基本的安全特性有很大的不同。
如果要正确地保护 Taco Cloud 应用程序,还有更多的工作要做。至少需要配置 Spring Security 来完成以下工作:
提示使用登录页面进行身份验证,而不是使用 HTTP 基本对话框。
为多个用户提供注册页面,让新的 Taco Cloud 用户可以注册。
为不同的请求路径应用不同的安全规则。例如,主页和注册页面根本不需要身份验证。
为了满足对 Taco Cloud 的安全需求,必须编写一些显式的配置,覆盖自动配置提供的内容。首先需要配置一个合适的用户存储,这样就可以有多个用户。
以前
第 4 章 Spring 安全
下一个
4.2 配置 Spring Security
最近更新
2yr ago
复制链接