Spring 是非常流行和成功的 Java 应用开发框架,而Spring Security 正是 Spring 家族中的成员。Spring Security基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 主要包括“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权 (Authorization)两个部分,这两点也是 Spring Security 重要核心功能。
- 可以和 Spring 无缝整合。
- 全面的权限控制。
- 专门为 Web 开发而设计。
- 旧版本不能脱离 Web 环境使用。新版本对整个框架进行了分层抽取,分成了核心模块和 Web 模块。单独引入核心模块就可以脱离 Web 环境,所以比较重量级。
对比一下Shiro (Apache 旗下的轻量级权限控制框架)。Shiro的特点是:
- 轻量级。Shiro 主张的理念是把复杂的事情变简单。针对对性能有更高要求 的互联网应用有更好表现。
- 通用性。 不局限于 Web 环境,可以脱离 Web 环境使用。
- 缺陷:在 Web 环境下一些特定的需求需要手动编写代码定制。
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之 前,Spring Security 就已经发展了多年了,但是使用的并不多,因为 SSM 中整合 Spring Security 比较麻烦,而 Shiro 就显得比较灵活,所以,Spring Security 虽然功能比 Shiro 强大,但是使用率不高。自从有了 Spring Boot 之后,Spring Boot 对于 Spring Security 提供了自动化配置方案,可以使用更少的配置来使用 Spring Security。 因此,一般来说,常见的安全管理技术栈的组合是这样的:
- SSM + Shiro
- Spring Boot/Spring Cloud + Spring Security 以上只是一个推荐的组合而已,如果单纯从技术上来说,无论怎么组合,都是可以运行的。
但据有关数据表示,现在大多数开发人员对于Spring Security仅仅停留在会用的阶段,对于其核心原理却不知其所以然。所以今天互联网雷锋(小编我)就把前段时间拿到的Spring Security实战总结无偿分享出来给大家!希望能帮助大家打开Spring Security的大门
如果你想深入学习Spring Security,那么这套Spring Security进阶宝典一定能对你有所帮助
基本概念

什么是认证

基于角色的访问控制

基于Session的认证方式

Spring容器配置

实现会话功能

实现授权功能

Spring Security快速上手

Spring Security介绍

认证页面与安全配置

授权

Spring Security 应用详解

退出

分布式系统认证方案

分布式认证方案

OAuth2.0

完善环境配置

Spring Security实现分布式系统授权

修改UserDetailService

第一部分
第1部分主要讲解Spring Security的基本配置;
认证与授权

第二部分
第2部分剖析Web项目可能遇到的安全问题,并讲解如何使用Spring Security进行有效防护;
单点登录与CAS

第三部分
第3部分详细介绍OAuth,并使用Spring Social整合Spring Security,实现QQ快捷登录;
第四部分
第4部分重点介绍Spring Security OAuth框架,剖析Spring Security OAuth的部分核心源码。
Spring Security OAuth核心源码分析
