设计模式就该这样学 基于经典框架源码和真实业务场景+SpringSecurity实战pdf下载

设计模式就该这样学百度网盘pdf下载

作者:
简介:设计模式就该这样学 基于经典框架源码和真实业务场景+SpringSecurity实战
出版社:
出版时间:
pdf下载价格:9.00¥


预览


内容介绍





9787121392085 9787121371431

书名:Spring Security实战

定价 79.00
出版社 电子工业出版社
版次 1
出版时间 2019年08月
开本 16开
作者 陈木鑫
装帧 平装
ISBN编码9787121371431

内容简介 山.png

Spring Security是一个强大且高度可定制的安全框架,致力于为Java应用提供身份认证和授权。本书通过4部分内容由浅入深地介绍Spring Security的方方面面。1部分主要讲解Spring Security的基本配置;2部分剖析Web项目可能遇到的安全问题,并讲解如何使用Spring Security进行有效防护;3部分详细介绍OAuth,并使用Spring Social整合Spring Security,实现QQ快捷登录;4部分重点介绍Spring Security OAuth框架,剖析Spring Security OAuth的部分核心源码。


目录 山.png

1 部分

1 章 初识Spring Security 2

1.1 Spring Security 简介 2

1.2 创建一个简单的Spring Security 项目 4

2 章 表单认证 . 10

2.1 默认表单认证 10

2.2 自定义表单登录页 13

3 章 认证与授权 19

3.1 默认数据库模型的认证与授权 19

3.1.1 资源准备 . 19

3.1.2 资源授权的配置 . 20

3.1.3 基于内存的多用户支持 . 22

3.1.4 基于默认数据库模型的认证与授权 22

3.2 自定义数据库模型的认证与授权 27

3.2.1 实现UserDetails 27

3.2.2 实现UserDetailsService 31

2 部分

4 章 实现图形验证码 . 36

4.1 使用过滤器实现图形验证码 36

4.1.1 自定义过滤器 . 36

4.1.2 图形验证码过滤器 . 39

4.2 使用自定义认证实现图形验证码 44

4.2.1 认识AuthenticationProvider . 44

4.2.2 自定义AuthenticationProvider . 47

4.2.3 实现图形验证码的AuthenticationProvider . 53

5 章 自动登录和注销登录 59

5.1 为什么需要自动登录 59

5.2 实现自动登录 60

5.3 注销登录 69

6 章 会话管理 . 75

6.1 理解会话 75

6.2 防御会话固定攻击 76

6.3 会话过期 78

6.4 会话并发控制 79

6.5 集会话的缺陷 93

6.6 集会话的解决方案 94

6.7 整合Spring Session 解决集会话问题 . 95

7 章 密码加密 . 98

7.1 密码安全的重要性 98

7.2 密码加密的演进 98

7.3 Spring Security 的密码加密机制 102

8 章 跨域与CORS 105

8.1 认识跨域 105

8.2 实现跨域之JSONP 106

8.3 实现跨域之CORS . 108

8.4 启用Spring Security 的CORS 支持 . 110

9 章 跨域请求伪造的防护 . 113

9.1 CSRF 的攻击过程 113

9.2 CSRF 的防御手段 114

9.3 使用Spring Security 防御CSRF 攻击 115

10 章 单点登录与CAS 125

10.1 单点登录 125

10.2 认识CAS . 129

10.3 搭建CAS Server 130

10.4 用Spring Security 实现CAS Client 138

11 章 HTTP 认证 . 144

11.1 HTTP 基本认证 . 144

11.2 HTTP 摘要认证 . 145

11.2.1 认识HTTP 摘要认证 145

11.2.2 Spring Security 对HTTP 摘要认证的集成支持 146

11.2.3 编码实现 . 148

12 章 @EnableWebSecurity 与过滤器链机制 . 151

12.1 @EnableWebSecurity . 151

12.2 WebSecurityConfiguration . 152

3 部分

13 章 用Spring Social 实现OAuth 对接 . 162

13.1 OAuth 简介 . 162

13.1.1 什么是OAuth 162

13.1.2 OAuth 的运行流程 164

13.2 QQ 互联对接准备 168

13.2.1 申请QQ 互联应用 169

13.2.2 QQ 互联指南 . 170

13.2.3 回调域名准备 . 174

13.3 实现QQ 快捷登录 . 176

13.3.1 引入Spring Social . 176

13.3.2 新增OAuth 服务支持的流程 . 178

13.3.3 编码实现 . 179

13.4 与Spring Security 整合 . 192

13.5 Spring Social 源码分析 194

13.5.1 SocialAuthenticationFilter . 194

13.5.2 OAuth2AuthenticationService . 195

13.5.3 OAuth2Connection 196

13.5.4 OAuth2Template 198

13.5.5 SocialAuthenticationProvider 199

13.5.6 JdbcUsersConnectionRepository . 200

13.6 配置相关 200

4 部分

14 章 用Spring Security OAuth 实现OAuth 对接 . 206

14.1 实现GitHub 快捷登录 207

14.2 用Spring Security OAuth 实现QQ 快捷登录 210

14.2.1 OAuth 功能扩展流程 210

14.2.2 编码实现 . 212

14.2.3 自定义login.html 和inde.html . 223

14.2.4 自定义Controller 映 . 224

14.2.5 启用自定义登录页 . 225

14.3 OAuth Client 功能核心源码分析 226

14.3.1 OAuth2AuthorizationRequestRedirectFilter . 227

14.3.2 OAuth2LoginAuthenticationFilter . 228

14.3.3 DefaultLoginPageGeneratingFilter 230

14.3.4 OAuth2LoginAuthenticationProvider 231

14.4 Spring Security OAuth 授权服务器 . 232

14.4.1 功能概述 . 233

14.4.2 依赖包说明 . 233

14.4.3 编码实现 . 234

14.5 OAuth 授权服务器功能扩展和自定义配置 . 236

14.5.1 自定义配置的授权服务器 237

14.5.2 编写OAuth 客户端 . 247

14.5.3 使用JDBC 存储OAuth 客户端信息 . 248

14.5.4 使用JDBC 存储token 254

14.5.5 其他功能配置 . 255

14.6 实现OAuth 资源服务器 255

14.6.1 依托于授权服务器的资源服务器 256

14.6.2 独立的资源服务器 . 258

14.7 Spring Security OAuth 核心源码分析 . 263

14.7.1 授权服务器核心源码分析 264

14.7.2 资源服务器核心源码分析 271
......................


出版社: 电子工业出版社

ISBN:9787121392085

版次:1

定价:118

出版时间:2020-07-01

本书从软件架构设计的通用技能UML开始,重点介绍常用的类图和时序图;然后介绍软件架构设计常用的七大原则;接着结合JDK、Spring、MyBatis、Tomcat、Netty等经典框架源码对GoF的23种设计模式展开分析,并结合作者多年“踩坑填坑”和“教学答疑”经验,用深刻、全面、通俗、生动、有趣、接地气的方式结合真实业务场景分析每种设计模式,治愈“设计模式选择困难症”;之后介绍4种常用的新设计模式;后总结软件架构、设计模式与应用框架之间的区别。

如果你已经有编程经验,那么你一定要学一遍设计模式;如果你是资深工程师或者架构师,那么本书将颠覆你以前的认知;如果你觉得设计模式晦涩难懂,那么本书一定能让你醍醐灌顶;如果你看框架源码总是力不从心,那么本书就是“内功心法”。


1篇  软件设计前奏篇

1章  重新认识UML2

1.1  UML的定义2

1.2  UML应用场景2

1.3  UML基本构件简介3

1.3.1  事物3

1.3.2  关系5

1.3.3  图6

2章  设计模式常用的UML图7

2.1  类图7

2.1.1  继承关系8

2.1.2  实现关系8

2.1.3  组合关系9

2.1.4  聚合关系10

2.1.5  关联关系11

2.1.6  依赖关系12

2.1.7  类关系记忆技巧14

2.2  时序图15

2.2.1  时序图的作用15

2.2.2  时序图组成元素16

2.2.3  时序图组合片段17

2.2.4  时序图画法及应用实践19

3章  七大软件架构设计原则22

3.1  开闭原则22

3.1.1  开闭原则的定义22

3.1.2  使用开闭原则解决实际问题23

3.2  依赖倒置原则24

3.2.1  依赖倒置原则的定义24

3.2.2  使用依赖倒置原则解决实际问题25

3.3  单一职责原则28

3.3.1  单一职责原则的定义28

3.3.2  使用单一职责原则解决实际问题28

3.4  接口隔离原则31

3.4.1  接口隔离原则的定义31

3.4.2  使用接口隔离原则解决实际问题31

3.5  迪米特法则33

3.5.1  迪米特法则的定义33

3.5.2  使用迪米特法则解决实际问题33

3.6  里氏替换原则35

3.6.1  里氏替换原则的定义35

3.6.2  使用里氏替换原则解决实际问题36

3.7  合成复用原则40

3.7.1  合成复用原则的定义40

3.7.2  使用合成复用原则解决实际问题40

3.8  软件架构设计原则小结42

4章  关于设计模式的那些事儿43

4.1  本书与GOF的《设计模式》的关系43

4.2  为什么一定要学习设计模式45

4.2.1  写出优雅的代码45

4.2.2  更好地重构项目47

4.2.3  经典框架都在用设计模式解决问题58

2篇  创建型设计模式

5章  简单工厂模式60

5.1  工厂模式的历史由来60

5.2  简单工厂模式概述61

5.2.1  简单工厂模式的定义61

5.2.2  简单工厂模式的应用场景61

5.2.3  简单工厂模式的UML类图61

5.2.4  简单工厂模式的通用写法62

5.3  使用简单工厂模式封装产品创建细节63

5.4  简单工厂模式在框架源码中的应用66

5.4.1  简单工厂模式在JDK源码中的应用66

5.4.2  简单工厂模式在Logback源码中的应用67

5.5  简单工厂模式扩展67

5.5.1  简单工厂模式的优点67

5.5.2  简单工厂模式的缺点67

6章  工厂方法模式68

6.1  工厂方法模式概述68

6.1.1  工厂方法模式的定义68

6.1.2  工厂方法模式的应用场景69

6.1.3  工厂方法模式的UML类图69

6.1.4  工厂方法模式的通用写法70

6.2  使用工厂方法模式实现产品扩展71

6.3  工厂方法模式在LOGBACK源码中的应用72

6.4  工厂方法模式扩展73

6.4.1  工厂方法模式的优点73

6.4.2  工厂方法模式的缺点73



7章  抽象工厂模式74

7.1  抽象工厂模式概述74

7.1.1  抽象工厂模式的定义74

7.1.2  关于产品等级结构和产品族75

7.1.3  抽象工厂模式的应用场景76

7.1.4  抽象工厂模式的UML类图76

7.1.5  抽象工厂模式的通用写法76

7.2  使用抽象工厂模式解决实际问题78

7.2.1  使用抽象工厂模式支持产品扩展78

7.2.2  使用抽象工厂模式重构数据库连接池81

7.3  抽象工厂模式在SPRING源码中的应用88

7.4  抽象工厂模式扩展89

7.4.1  抽象工厂模式的优点89

7.4.2  抽象工厂模式的缺点90

8章  单例模式91

8.1  单例模式概述91

8.1.1  单例模式的定义91

8.1.2  单例模式的应用场景91

8.1.3  单例模式的UML类图92

8.1.4  单例模式的通用写法92

8.2  使用单例模式解决实际问题93

8.2.1  饿汉式单例写法的弊端93

8.2.2  还原线程破坏单例的事故现场93

8.2.3  双重检查锁单例写法闪亮登场97

8.2.4  看似的静态内部类单例写法100

8.2.5  还原反破坏单例模式的事故现场101

8.2.6  更加优雅的枚举式单例写法问世103

8.2.7  还原反序列化破坏单例模式的事故现场108

8.2.8  使用容器式单例写法解决大规模生产单例的问题114

8.2.9  ThreadLocal单例详解115

8.3  单例模式在框架源码中的应用116

8.3.1  单例模式在JDK源码中的应用116

8.3.2  单例模式在Spring源码中的应用117

8.4  单例模式扩展121

8.4.1  单例模式的优点121

8.4.2  单例模式的缺点121

9章  原型模式122

9.1  原型模式概述122

9.1.1  原型模式的定义122

9.1.2  原型模式的应用场景123

9.1.3  原型模式的UML类图124

9.1.4  原型模式的通用写法124

9.2  使用原型模式解决实际问题126

9.2.1  分析JDK浅克隆API带来的问题126

9.2.2  使用序列化实现深克隆129
.................


暂时没有内容介绍,请见谅!
暂时没有目录,请见谅!