Spring Security实战

价格 139.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 2 人关注
数量
+-
库存100
 
联系方式
加关注0

新书科技

VIP   VIP会员第2年
资料未认证
保证金未缴纳

内容简介

是没有任何商量余地的。我们要依赖Spring应用程序来传输数据、验证凭据和防止攻击。采用“通过设计实现防护”的原则将能够保护我们的网络避免数据被窃取和未经授权的入侵。 《SpringSecurity实战》展示了如何在造成破坏之前防止跨站脚本和请求伪造攻击。本书将从基础开始讲解,其中将模拟密码升级并添加多种类型的授权。随着技能的增长,读者将可以将Spring Security应用到新的架构中,并创建的OAuth2配置。完成之后,读者将拥有一个定制的Spring Security配置,它可以保护应用程序免受常见的和特殊的威胁。 主要内容对密码进行编码以及对用户进行身份验证端点的防护测试的 自动化设置独立的授权服务器。

目录

目 录第I部分 初 识第1 章 现状 31.1 Spring Security的定义与用途 41.2 什么是软件 71.3 为什么重要 121.4 Web应用程序中的常见漏洞 131.4.1 身份验证和授权中的漏洞 141.4.2 什么是会话固定 151.4.3 什么是跨站脚本(XSS) 161.4.4 什么是跨站请求伪造(CSRF) 171.4.5 理解Web应用程序中的注入漏洞 181.4.6 应对敏感数据暴露 181.4.7 缺乏方法访问控制指的是什么 211.4.8 使用具有已知漏洞的依赖项 231.5 各种架构中所应用的 231.5.1 设计一个单体式Web应用程序 241.5.2 为前后端分离设计 251.5.3 理解OAuth 2流程 271.5.4 使用API键、加密签名和IP验证保护请求 291.6 本书知识内容 301.7 本章小结 31第2 章 Spring Security初探 332.1 开始构建项目 342.2 默认配置有哪些 392.3 重写默认配置 432.3.1 重写UserDetailsService组件 442.3.2 授权配置 482.3.3 以不同方式设置配置 502.3.4 重写AuthenticationProvider实现 542.3.5 在项目中使用多个配置类 582.4 本章小结 60第Ⅱ部分 实现第3 章 管理用户 633.1 在Spring Security中实现身份验证 643.2 描述用户 663.2.1 阐明UserDetails契约的定义 663.2.2 GrantedAuthority契约详述 683.2.3 编写UserDetails的小化实现 693.2.4 使用构造器创建UserDetails类型的实例 723.2.5 合并与用户相关的多个职能 733.3 指示Spring Security如何管理用户 773.3.1 理解UserDetailsService契约 773.3.2 实现UserDetailsService契约 783.3.3 实现UserDetailsManager契约 823.4 本章小结 90第4 章 密码处理 914.1 理解PasswordEncoder契约 914.1.1 PasswordEncoder契约的定义 924.1.2 实现PasswordEncoder契约 934.1.3 从PasswordEncoder提供的实现中选择 954.1.4 使用DelegatingPassword-Encoder实现多种编码策略 984.2 Spring Security Crypto模块的更多知识 1024.2.1 使用密钥生成器 1024.2.2 将加密器用于加密和解密操作 1044.3 本章小结 106第5 章 实现身份验证 1075.1 理解AuthenticationProvider 1095.1.1 在身份验证期间表示请求 1105.1.2 实现自定义身份验证逻辑 1115.1.3 应用自定义身份验证逻辑 1135.2 使用SecurityContext 1175.2.1 将一种保持策略用于上下文 1195.2.2 将保持策略用于异步调用 1215.2.3 将保持策略用于独立应用程序 1235.2.4 使用DelegatingSecurity-ContextRunnable转发上下文 1245.2.5 使用DelegatingSecurity-ContextExecutorService转发上下文 1275.3 理解 Basic和基于表单的登录身份验证 1295.3.1 使用和配置 Basic 1305.3.2 使用基于表单的登录实现身份验证 1335.4 本章小结 140第6 章 动手实践:一个小型且的Web应用程序 1416.1 项目需求和设置 1416.2 实现用户管理 1486.3 实现自定义身份验证逻辑 1536.4 实现主页面 1566.5 运行和测程序 1596.6 本章小结 161第7 章 配置权限:限制访问 1637.1 基于权限和角色限制访问 1657.1.1 基于用户权限限制所有端点的访问 1677.1.2 基于用户角色限制所有端点的访问 1757.1.3 限制对所有端点的访问 1807.2 本章小结 183第8 章 配置权限:应用限制 1858.1 使用匹配器方法选择端点 1858.2 使用MVC匹配器选择用于授权的请求 1928.3 使用Ant匹配器选择用于授权的请求 2008.4 使用正则表达式匹配器选择用于授权的请求 2048.5 本章小结 210第9 章 实现过滤器 2119.1 在Spring Security架构中实现过滤器 2139.2 在过滤器链中现有过滤器之前添加过滤器 2159.3 在过滤器链中已有的过滤器之后添加过滤器 2199.4 在过滤器链中另一个过滤器的位置添加一个过滤器 2229.5 Spring Security提供的Filter实现 2279.6 本章小结 229第10 章 应用CSRF防护和CORS 23110.1 在应用程序中应用跨站请求伪造(CSRF)防护 23110.1.1 CSRF防护如何在Spring Security中发挥作用 23210.1.2 在实际场景中使用CSRF防护 23810.1.3 自定义CSRF防护 24410.2 使用跨源资源共享 25510.2.1 CORS的运行机制 25610.2.2 使用@CrossOrigin注解应用CORS策略 26110.2.3 使用CorsConfigurer应用CORS 26210.3 本章小结 263第11 章 动手实践:职责分离 26511.1 示例的场景和需求 26611.2 实现和使用令牌 26911.2.1 令牌是什么 26911.2.2 JSON Web Token是什么 27211.3 实现身份验证服务器 27411.4 实现业务逻辑服务器 28511.4.1 实现Authentication对象 29011.4.2 实现身份验证服务器的代理 29211.4.3 实现Authentication-Provider接口 29511.4.4 实现过滤器 29711.4.5 编写配置 30411.4.6 测试整个系统 30611.5 本章小结 307第12 章 OAuth 2的运行机制 30912.1 OAuth 2框架 31012.2 OAuth 2身份验证架构的组件 31212.3 使用OAuth 2的实现选项 31312.3.1 实现授权码授权类型 31312.3.2 实现密码授权类型 31812.3.3 实现客户端凭据授权类型 32012.3.4 使用刷新令牌获得新的访问令牌 32112.4 OAuth 2的弱点 32312.5 实现一个简单的单点登录应用程序 32412.5.1 管理授权服务器 32512.5.2 开始实现 32812.5.3 实现ClientRegistration 33012.5.4 实现ClientRegistration-Repository 33312.5.5 Spring Boot配置的纯粹方式 33512.5.6 获取经过身份验证的用户的详细信息 33712.5.7 测程序 33812.6 本章小结 341第13 章 OAuth 2:实现授权服务器 34313.1 编写我们自己的授权服务器实现 34513.2 定义用户管理 34613.3 向授权服务器注册客户端 34913.4 使用密码授权类型 35313.5 使用授权码授权类型 35513.6 使用客户端凭据授权类型 36113.7 使用刷新令牌授权类型 36413.8 本章小结 366第14 章 OAuth 2:实现资源服务器 36714.1 实现资源服务器 36914.2 远程检查令牌 37214.3 实现带有JdbcTokenStore的黑板模式 38014.4 两种方法的简要对比 38914.5 本章小结 390第15 章 OAuth 2:使用JWT和加密签名 39115.1 使用JWT以及对称密钥签 39115.1.1 使用JWT 39215.1.2 实现授权服务器以颁发JWT 39315.1.3 实现使用JWT的资源服务器 39815.2 使用通过JWT和非对称密钥签 40215.2.1 生成密钥对 40315.2.2 实现使用私钥的授权服务器 40515.2.3 实现使用公钥的资源服务器 40715.2.4 使用一个暴露公钥的端点 40915.3 将自定义详细信息添加到JWT 41315.3.1 配置授权服务器以便向令牌添加自定义详细信息 41415.3.2 配置资源服务器以读取JWT的自定义详细信息 41615.4 本章小结 419第16 章 全局方法:预授权和后授权 42116.1 启用全局方法 42216.1.1 理解调用授权 42216.1.2 在项目中启用全局方法 42516.2 对权限和角色应用预授权 42616.3 应用后授权 43116.4 实现方法的许可 43616.5 本章小结 448第17 章 全局方法:预过滤和后过滤 45117.1 为方法权限应用预过滤 45217.2 为方法授权应用后过滤 45917.3 在Spring Data存储库中使用过滤 46317.4 本章小结 470第18 章 动手实践:一个OAuth 2 应用程序 47118.1 应用程序场景 47218.2 将Keycloak配置为授权服务器 47418.2.1 为系统注册一个客户端 47818.2.2 客户端作用域 47918.2.3 添加用户并获取访问令牌 48118.2.4 定义用户角色 48518.3 实现资源服务器 49018.4 对应用程序进行测试 50118.4.1 证明经过身份验证的用户只能为自己添加记录 50218.4.2 证明用户只能检索自己的记录 50418.4.3 证明只有管理员才能删除记录 50518.5 本章小结 506第19 章 在反应式应用程序中使用Spring Security 50919.1 什么是反应式应用程序 51019.2 反应式应用程序中的用户管理 51419.3 在反应式应用程序中配置授权规则 51919.3.1 在反应式应用程序的端点层应用授权 52019.3.2 在反应式应用程序中使用方法 52619.4 反应式应用程序和OAuth 2 52919.5 本章小结 532第20 章 Spring Security测试 53520.1 使用模拟用户进行测试 53720.2 使用UserDetailsService提供的用户进行测试 54520.3 将自定义Authentication对象用于测试 54720.4 测试方法 55120.5 测试身份验证 55220.6 测试CSRF配置 55620.7 测试CORS配置 55720.8 测试反应式Spring Security实现 55820.9 本章小结 561附录A 创建一个Spring Boot项目 563

举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号