新書推薦:
《
纷纭万端 : 近代中国的思想与社会
》
售價:NT$
500.0
《
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
》
售價:NT$
765.0
《
朋党之争与北宋政治·大学问
》
售價:NT$
454.0
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:NT$
403.0
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
|
編輯推薦: |
基于日常工作过程中对于主流微服务架构日益增加的软件安全需求,着重于目前主流安全框架Spring Security的原理解析与对应实践。
|
內容簡介: |
作为保障微服务安全的重要框架,SpringSecurity功能丰富且支持多种认证方式,但是它也有着学习曲线陡峭、配置复杂等不足。本书立足于作者多年实践,意在通过串联使用安全框架SpringSecurity核心功能来构建安全可靠的微服务。 在图书的讲解脉络方面,本书着重于安全框架SpringSecurity的原理解析与对应实践,同时基于经验分享模块将各核心功能进行示例展示,以期让读者循序渐进地了解与掌握SpringSecurity的关键技术,并借助其快速有效地构建安全可靠的微服务。
|
關於作者: |
邹炎,就职于武汉光谷科技,八年以上互联网Java开发与架构工作,具有较为丰富的系统架构经验,参与开发/架构多个大型项目,对分布式与高并发、云原生、区块链领域有着深入的研究和理解,实际操作过多个互联网系统的微服务改造等。目前从事系统架构和企业架构设计评审工作并担任所在企业的技术讲师、校招、社招面试官;对安全性、高可用、高性能、云原生系统设计有着丰富的实战经验。
|
目錄:
|
第1章 无所不在的软件
1.1 软件应用涉及的范围
1.1.1 基础设施之硬件层面
1.1.2 公共服务之软件层面
1.2 软件层面的风险与经验对策
1.2.1 身份认证
经验分享:如何应对弱密码
经验分享:如何应对session或token异常
1.2.2 访问控制
经验分享:如何应对非法访问
1.2.3 应用数据
经验分享:如何应对数据的明文传输
经验分享:如何应对数据的明文存储
微服务的软件解决方案
1.3.1 微服务架构与单体架构下软件的不同
1.3.2 微服务架构份认证
经验分享:不同的身份认证解决方案应该如何选择
1.3.3 微服务架构下的访问控制
经验分享:不同的访问控制解决方案应该如何选择
1.3.4 如何处理微服务架构下的软件
1.4 主流的框架
1.4.1 简单易用的轻量级框架——Apache Shiro
1.4.2能强大的重量级框架——Spring Security
第2章 框架Spring Security
2.1 Spring Security的前世今生
2.2 Spring Security整体工作流程与知识回顾
2.2.1 Spring Security整体工作流程
2.2.2 了解原理前的知识回顾:Servlet 与Filter过滤器
2.3 Spring Security架构实现原理
2.3.1 过滤器代理
源码解析:DelegatingFilterProxy与GenericFilterBean
源码解析:FilterChainProxy
2.3.2 过滤器链
源码解析: SecurityFilterChain、RequestMatcher与FilterOrderRegistration
2.3.3 异常处理部分
源码解析:ExceptionTranslationFilter
2.4 Spring Security核能
2.4.1 判断用户是谁——认证
2.4.2 确定用户权限——授权
2.4.3 防护——针对常见漏洞的保护
第 3章 Spring Security基础使用
3.1 Spring Security的使用方式
3.1.1 通过Maven进行使用
3.1.2 通过 Gradle进行使用
3.2 Spring Boot集成Spring Security
3.2.1 选定框架及版本
3.2.2 项目初始化
3.2.3 代码编写
3.3 项目启动测试
经验分享:启动日志与用户名密码等问题的解析
3.4 模块分析
3.4.1 结合示例项目建立模块认识
3.4.2 了解内部模块
第4章 认证
4.1 认证的基本架构
4.1.1 认证的基本处理流程
4.1.2 认证的内部处理机制
4.2 常用的基础认证能
4.2.1 用户名密码认证
经验分享:本Spring Security中如何自定义配置使用表单认证
4.2.2 匿名认证
经验分享:本Spring Security中如何自定义配置使用匿名认证
4.2.3 注销
经验分享:本Spring Security中如何自定义配置使用注销
4.2.4 会话管理
经验分享:本Spring Security如何自定义配置使用会话管理
4.2.5 Remember Me
经验分享:本Spring Security中如何自定义配置使用Remember Me
第5章 自定义认证实践
5.1 自定义认证解决方案
5.1.1 方目标及对应需求
5.1.2 方案流程图
5.1.3 方案实现思路
5.2 项目初始化
5.3 自定义认证url路径及界面
5.3.1 Spring Security配置类
5.3.2 自定义认证控制器
5.3.3 自定义认证界面
5.4 添加额外的验证码参数
5.4.1 自定义登录界面修改
5.4.2 自定义身份认证对象
5.4.3 自定义认证过滤器
5.4.4 Spring Security配置类修改
5.5 用户持久化及密码加密
5.5.1 数据库的初始化
5.5.2 实体类及对应Mapper的实现
5.5.3 密码加密的配置定义
5.6 身份认证逻辑处理
5.6.1 认证提供者及其相关service实现
5.6.2 认证与失败后的后续处理
5.7 自定义注销处理
5.7.1 自定义额外的注销业务操作
5.7.2 Spring Security配置类关联配置
5.8 项目启动测试
5.8.1 测试前的补充及准备工作
5.8.2 测试验证自定义认证
经验分享:自定义认证实现后添加会话管理失效如何应对
第6章 授权
6.1 授权的基本架构
6.1.1 授权的基本处理流程
经验分享:本Spring Security中授权基本处理流程的相关变化
6.1.2 授权的内部处理机制
6.2 常用的授权能
6.2.1 权限表达式
6.2.2 基于url的授权
经验分享:本Spring Security中如何自定义配置使用基于url的授权
6.2.3 基于方法的授权
经验分享:本Sping Security中如何自定义配置使用基于方法的授权
第7章 自定义授权实践
7.1 自定义授权解决方案
7.1.1 方目标及对应需求
7.1.2 方案流程图
7.1.3 方案实现思路
7.2 授权规则设置
7.2.1 Spring Security配置类
7.2.2 设置跳转路径授权规则
7.3 授权持久化
7.3.1 数据库的初始化
7.3.2 实体类及对应Mapper的实现
7.3.3 自定义认证基础上授权数据填充处理
7.4 自定义授权错误处理
7.4.1 自定义授权错误的业务逻辑处理
7.4.2 Spring Security配置类关联配置
7.5 项目启动测试
7.5.1 测试前的补充及准备工作
7.5.2 测试验证自定义授权
经验分享:自定义授权如何实现动态权限判定
第8章 针对常见漏洞的保护
8.1 基本处理流程
8.2 常用的针对常见漏洞保护能详解
8.2.1 跨站请求伪造Csrf
经验分享:本Spring Security中如何自定义配置使用跨站请求伪造csrf
8.2.2 防火墙
经验分享:本Spring Security中如何自定义配置使用防火墙
8.2.3 响应支持
经验分享;本Spring Security中如何自定义配置使用响应
第9章 基于Spring Security整体构建可靠的微服务
9.1 知识点前置讲解
9.1.1 授权协议oauth2
9.1.2 认证协议oidc
9.1.3 令牌标准jwt
9.2 整体解决方案
9.2.1 方案设计
9.2.2 实现思路
9.3 认证授权服务
9.3.1 初始化项目结构与配置
9.3.2 自定义授权服务的配置与实现
9.3.3 自定义认证的配置与实现
9.3.4 jwt的配置与实现
9.3.5 自定义认证授权页面实现
9.4 API网关
9.4.1 初始化项目结构与配置
9.4.2 配置客户端信息
9.4.3 配置业务服务路由
9.4.4 默认页面实现
9.5 业务服务
9.5.1 初始化项目结构与配置
9.5.2 配置资源服务
9.5.3 自定义授权的配置与实现
9.5.4 jwt的配置与实现
9.5.5 具体业务的实现
9.6 项目启动测试
后记
|
內容試閱:
|
伴随着互联网的迅猛发展,各种软件应用的使用频率越来越高,这使得软件安全无论在软件开发还是应用运行过程中都体现出越来越重要的地位,尤其是在软件开发过程中,完备的软件安全设计方案已成为软件开发项目实践中的重要组成部分。
对于软件安全的表现形式,相信读者或多或少地都遇到或接触过一些,如十分常见的弱密码、数据的明文传输等;而对于软件安全问题如何防范处理,可能就会存在一系列的疑问,比如说如何针对常见的软件安全风险进行相应地处理,在使用目前主流的微服务架构时如何防范软件中的安全风险,如何使用安全框架来快速完成软件安全的处理等。
针对以上疑问,本书从软件开发的角度切入来讲解软件安全的防范处理,主要基于日常工作过程中对于主流微服务架构日益增加的软件安全需求,同时结合主流的安全框架来快速有效地构建安全可靠的微服务。
具体到本书的讲解脉络,本书着重于目前主流安全框架Spring Security的原理解析与对应实践,在梳理安全风险与经验对策的基础上,力求将Spring Security的核心功能及其常用子功能解析透彻,同时基于经验分享将各子功能进行示例展示,以便于读者能够了解并掌握Spring Security,之后借助于安全框架Spring Security来快速有效地构建安全可靠的微服务。
笔者在写作本书时,借鉴了自己近几年从事企业技术讲师和面试官工作中的经验,力争把复杂的Spring
Security安全框架以功能为依据进行切分讲解,同时又注重不同功能之间的逻辑关联;集点为线,聚线成面,步步为营地帮助读者透彻理解关键技术并平稳过渡到实践层面。
本书读者对象
本书中细致的知识讲解、丰富的示例分析以及翔实的防范经验,可让以下三类读者在阅读中受益。
(1)在校学生与初级软件开发工程师
安全框架Spring Security本身与应用实践中包含的知识点较多,通常刚开始接触时,难以理解并无从下手,希望本书能够帮助在校学生与初级软件开发工程师细致了解与掌握该安全框架的相关知识点,并能够初步完成构建安全可靠的微服务。
(2)中高级软件开发工程师与软件架构师
微服务架构日益增加的软件安全需求与安全框架Spring
Security的强大功能,使得在日常实际工作过程中使用安全框架Spring
Security来处理微服务安全的项目越来越多,希望本书能够帮助中高级软件开发工程师与软件架构师全面了解安全框架Spring
Security的底层原理与微服务安全所涉及的相关内容,通过示例了解思路或获得启发,继而在软件设计与开发过程中更好地使用该安全框架来处理微服务安全。
(3)对安全框架Spring Security与微服务安全感兴趣的管理者
随着软件安全重要性的凸显,同时结合软件应用项目敏捷开发的需求,利用安全框架来快速完成软件应用项目的开发十分常见且可靠,希望本书能够帮助对安全框架Spring
Security与微服务安全感兴趣的管理者了解软件开发层面的主流技术,并对项目安全问题做到心中有数。
示例代码下载
为了便于读者对本书代码示例的参考,笔者将书中相应的示例代码统一整理打包相赠,读者可通过以下链接地址获取使用。
链接地址:
http://www.m.crphdm.com/2023/0526/14604.shtml
交流反馈
由于笔者水平有限,书中内容难免存在疏漏,抑或是错误、不准确的地方,在此恳请各位读者能够批评指正,多提意见,以促进提高,相关反馈可以发送邮件到笔者的工作邮箱cloudnativesmile@163.com。另外,若在阅读本书的过程中存在任何疑问,也可以通过以上方式联系,笔者会在看到后第一时间进行回复。
感谢
感谢中国铁道出版社有限公司全体工作人员对本书的支持与付出,尤其感谢责任编辑老师贯穿始终地投入,对本书章节安排及内容的指导与建议。
|
|