书籍详情
Spring Security实战
作者:[罗马尼亚] 劳伦斯·斯皮尔卡 著,蒲成 译
出版社:清华大学出版社
出版时间:2022-01-01
ISBN:9787302594246
定价:¥139.00
购买这本书可以去
内容简介
安全性是没有任何商量余地的。我们要依赖Spring应用程序来传输数据、验证凭据和防止攻击。采用“通过设计实现安全防护”的原则将能够保护我们的网络避免数据被窃取和未经授权的入侵。 《Spring Security实战》展示了如何在造成破坏之前防止跨站脚本和请求伪造攻击。该书将从基础开始讲解,其中将模拟密码升级并添加多种类型的授权。随着技能的增长,读者将可以将Spring Security应用到新的架构中,并创建高级的OAuth2配置。完成之后,读者将拥有一个定制的Spring Security配置,它可以保护应用程序免受常见的和特殊的威胁。 主要内容 ●对密码进行编码以及对用户进行身份验证 ●端点的安全防护 ●安全性测试的自动化 ●设置独立的授权服务器
作者简介
Laurenliu Spilca是Endava一位极为敬业的开发主管和培训师,他具有十余年的Java经验。
目录
第Ⅰ部分 初识
第1章 安全性现状
1.1 SpringSecurity的定义与用途
1.2 什么是软件安全性
1.3 安全性为什么重要
1.4 Web应用程序中的常见安全漏洞
1.4.1 身份验证和授权中的漏洞
1.4.2 什么是会话固定
1.4.3 什么是跨站脚本(XSS)
1.4.4 什么是跨站请求伪造(CSRF)
1.4.5 理解Web应用程序中的注入漏洞
1.4.6 应对敏感数据暴露
1.4.7 缺乏方法访问控制指的是什么
1.4.8 使用具有己知漏洞的依赖项
1.5 各种架构中所应用的安全性
1.5.1 设计一个单体式Web应用程序
1.5.2 为前后端分离设计安全性
1.5.3 理解OAuth2流程
1.5.4 使用API键、加密签名和IP验证保护请求
1.6 本书知识内容
1.7 本章小结
第2章 Spring Security初探
2.1 开始构建首个项目
2.2 默认配置有哪些
2.3 重写默认配置
2.3.1 重写UserDetailsService组件
2.3.2 重写端点授权配置
2.3.3 以不同方式设置配置
2.3.4 重写AuthenticationProvider实现
2.3.5 在项目中使用多个配置类
2.4 本章小结
第Ⅱ部分 实现
第3章 管理用户
3.1 在Spring Security中实现身份验证
3.2 描述用户
3.2.1 阐明UserDetails契约的定义
3.2.2 GrantedAuthority契约详述
3.2.3 编写UserDetails的最小化实现
3.2.4 使用构造器创建UserDetails类型的实例
3.2.5 合并与用户相关的多个职能
3.3 指示Spring Security如何管理用户
3.3.1 理解UserDetailsService契约
3.3.2 实现UserDetailsService契约
3.3.3 实现UserDetailsManager契约
3.4 本章小结
第4章 密码处理
4.1 理解PasswordEncoder契约
4.1.1 PasswordEncoder契约的定义
4.1.2 实现PasswordEncoder契约
4.1.3 从PasswordEncoder提供的实现中选择
4.1.4 使用DelegatingPassword Encoder实现多种编码策略
4.2 Spring Security Crypto模块的更多知识
4.2.1 使用密钥生成器
4.2.2 将加密器用于加密和解密操作
4.3 本章小结
第5章 实现身份验证
5.1 理解AuthenticationProvider
5.1.1 在身份验证期间表示请求
5.1.2 实现自定义身份验证逻辑
5.1.3 应用自定义身份验证逻辑
5.2 使用SecurityContext
5.2.1 将一种保持策略用于安全上下文
5.2.2 将保持策略用于异步调用
5.2.3 将保持策略用于独立应用程序
5.2.4 使用DelegatingSecurity-ContextRunnable转发安全上下文
5.2.5 使用DelegatingSecurity-ContextExecutorService转发安全上下文
5.3 理解HTIP Basic和基于表单的登录身份验证
5.3.1 使用和配置HTTP Basic
5.3.2 使用基于表单的登录实现身份验证
5.4 本章小结
第6章 动手实践:一个小型且安全的Web应用程序
6.1 项目需求和设置
6.2 实现用户管理
6.3 实现自定义身份验证逻辑
6.4 实现主页面
6.5 运行和测试应用程序
6.6 本章小结
第7章 配置权限:限制访问
7.1 基于权限和角色限制访问
7.1.1 基于用户权限限制所有端点的访问
……
附录A 创建一个Spring Boot项目
第1章 安全性现状
1.1 SpringSecurity的定义与用途
1.2 什么是软件安全性
1.3 安全性为什么重要
1.4 Web应用程序中的常见安全漏洞
1.4.1 身份验证和授权中的漏洞
1.4.2 什么是会话固定
1.4.3 什么是跨站脚本(XSS)
1.4.4 什么是跨站请求伪造(CSRF)
1.4.5 理解Web应用程序中的注入漏洞
1.4.6 应对敏感数据暴露
1.4.7 缺乏方法访问控制指的是什么
1.4.8 使用具有己知漏洞的依赖项
1.5 各种架构中所应用的安全性
1.5.1 设计一个单体式Web应用程序
1.5.2 为前后端分离设计安全性
1.5.3 理解OAuth2流程
1.5.4 使用API键、加密签名和IP验证保护请求
1.6 本书知识内容
1.7 本章小结
第2章 Spring Security初探
2.1 开始构建首个项目
2.2 默认配置有哪些
2.3 重写默认配置
2.3.1 重写UserDetailsService组件
2.3.2 重写端点授权配置
2.3.3 以不同方式设置配置
2.3.4 重写AuthenticationProvider实现
2.3.5 在项目中使用多个配置类
2.4 本章小结
第Ⅱ部分 实现
第3章 管理用户
3.1 在Spring Security中实现身份验证
3.2 描述用户
3.2.1 阐明UserDetails契约的定义
3.2.2 GrantedAuthority契约详述
3.2.3 编写UserDetails的最小化实现
3.2.4 使用构造器创建UserDetails类型的实例
3.2.5 合并与用户相关的多个职能
3.3 指示Spring Security如何管理用户
3.3.1 理解UserDetailsService契约
3.3.2 实现UserDetailsService契约
3.3.3 实现UserDetailsManager契约
3.4 本章小结
第4章 密码处理
4.1 理解PasswordEncoder契约
4.1.1 PasswordEncoder契约的定义
4.1.2 实现PasswordEncoder契约
4.1.3 从PasswordEncoder提供的实现中选择
4.1.4 使用DelegatingPassword Encoder实现多种编码策略
4.2 Spring Security Crypto模块的更多知识
4.2.1 使用密钥生成器
4.2.2 将加密器用于加密和解密操作
4.3 本章小结
第5章 实现身份验证
5.1 理解AuthenticationProvider
5.1.1 在身份验证期间表示请求
5.1.2 实现自定义身份验证逻辑
5.1.3 应用自定义身份验证逻辑
5.2 使用SecurityContext
5.2.1 将一种保持策略用于安全上下文
5.2.2 将保持策略用于异步调用
5.2.3 将保持策略用于独立应用程序
5.2.4 使用DelegatingSecurity-ContextRunnable转发安全上下文
5.2.5 使用DelegatingSecurity-ContextExecutorService转发安全上下文
5.3 理解HTIP Basic和基于表单的登录身份验证
5.3.1 使用和配置HTTP Basic
5.3.2 使用基于表单的登录实现身份验证
5.4 本章小结
第6章 动手实践:一个小型且安全的Web应用程序
6.1 项目需求和设置
6.2 实现用户管理
6.3 实现自定义身份验证逻辑
6.4 实现主页面
6.5 运行和测试应用程序
6.6 本章小结
第7章 配置权限:限制访问
7.1 基于权限和角色限制访问
7.1.1 基于用户权限限制所有端点的访问
……
附录A 创建一个Spring Boot项目
猜您喜欢