Spring Security
转载请注明作者及出处:
https://blog.csdn.net/liuminglei1987/article/details/107538666
本文出自银河架构师的博客。
说起来Web应用安全,通用的方案无非 Spring Security 和 Apache Shiro。这两者我们在此不做比较,用Spring Security多,无非是因为 Spring 框架的“裙带关系”,当然了,也有一些其它原因,如CAS集成、OAuth2集成等等,都有比较成熟的集成框架方案。
Spring Security框架,说实话,比较复杂,好多人一开始不太理解,只会照搬网上的答案,遇到问题解决不了。这是非常不好的习惯,技术方案一定是自己能解决的,或者说比较容易找到解决方案的,不然生产环境出问题、亦或是后续业务发展不满足等等,都会出现比较大的问题。
本系列正是基于此,一方面巩固一下对于Spring Security框架的理解,另一方面,将一些常见场景的解决方案做一些分享,同时,对自己也是又一次深层次的学习。
另外,本系列计划分别以SpringBoot、SpringMVC两种不同的版本进行讲解,目前讲解的是SpringBoot版本,更适合于目前技术开发环境,毕竟新产品还在用SpringMVC的已经很少了。但是,后续也会陆续出一些对应的SpringMVC版本的文章,敬请期待吧!!!
本系列源码:gitee:https://gitee.com/xbd521/SpringSecurityLearning, github:https://github.com/liuminglei/SpringSecurityLearning, 不要忘了点赞支持哦,感谢感谢!!!
汇总文章:史上最简单的Spring Security教程:终极篇,注意,这不是终点,不是最后一篇!!!
SpringBoot版本:
- 史上最简单的Spring Security教程(四十二):重点,也是终点,SpringSecurity工作流程图解
- 史上最简单的Spring Security教程(四十一):SecurityContextHolder及SecurityContextHolderStrategy详解
- 史上最简单的Spring Security教程(四十):SecurityContextPersistenceFilter详解
- 史上最简单的Spring Security教程(三十九):ExceptionTranslationFilter自动化配置及其简介
- 史上最简单的Spring Security教程(三十八):ExceptionTranslationFilter详解
- 史上最简单的Spring Security教程(三十七):RememberMe记住我原理剖析
- 史上最简单的Spring Security教程(三十六):RememberMeAuthenticationFilter详解
- 史上最简单的Spring Security教程(三十五):RememberMe记住我之更安全的实现方式-持久化token存储方式
- 史上最简单的Spring Security教程(三十四):用户名密码验证码(记住我)登录与CA登录融合方案
- 史上最简单的Spring Security教程(三十三):用户名密码登录新增验证码和RememberMe(记住我)选项
- 史上最简单的Spring Security教程(三十二):默认用户名密码记住我登录与CA登录融合方案
- 史上最简单的Spring Security教程(三十一):默认用户名密码登录新增RememberMe(记住我)选项
- 史上最简单的Spring Security教程(三十):自定义用户名密码及验证码登录与CA登录方式共存详细实现及配置
- 史上最简单的Spring Security教程(二十九):用户名密码登录添加验证码选项
- 史上最简单的Spring Security教程(二十八):CA登录与默认用户名密码登录共存详细实现及配置
- 史上最简单的Spring Security教程(二十七):AuthenticationManager默认实现之ProviderManager详解
- 史上最简单的Spring Security教程(二十六):DaoAuthenticationProvider详解
- 史上最简单的Spring Security教程(二十五):UsernamePasswordAuthenFilter详解
- 史上最简单的Spring Security教程(二十四):自定义用户名密码参数名及用户名密码验证路径
- 史上最简单的Spring Security教程(二十三):自定义AccessDecisionManager实现类选举法的访问决策
- 史上最简单的Spring Security教程(二十二):自定义AccessDecisionManager实现简单的访问决策
- 史上最简单的Spring Security教程(二十一):AccessDecisionManager简介及自定义访问决策管理器
- 史上最简单的Spring Security教程(二十):自定义AccessDecisionVoter实现必须全部拥有请求所需权限才可访问的需求
- 史上最简单的Spring Security教程(十九):AccessDecisionVoter简介及自定义访问权限投票器
- 史上最简单的Spring Security教程(十八):FilterSecurityInterceptor实现每个请求只处理一次
- 史上最简单的Spring Security教程(十七):FilterSecurityInterceptor默认初始化逻辑剖析
- 史上最简单的Spring Security教程(十六):FilterSecurityInterceptor详解
- 史上最简单的Spring Security教程(十五):资源权限动态控制(FilterSecurityInterceptor)
- 史上最简单的Spring Security教程(十四):动态权限(自定义UserDetailsService)
- 史上最简单的Spring Security教程(十三):动态用户(自定义UserDetailsService)
- 史上最简单的Spring Security教程(十二):@PreAuthorize注解实现权限控制
- 史上最简单的Spring Security教程(十一):url区分不同的登录失败场景
- 史上最简单的Spring Security教程(十):AuthenticationFailureHandler高级用法
- 史上最简单的Spring Security教程(九):自定义用户登录失败页面
- 史上最简单的Spring Security教程(八):用户登出成功LogoutSuccessHandler高级用法
- 史上最简单的Spring Security教程(七):用户登出成功url配置
- 史上最简单的Spring Security教程(六):用户登出
- 史上最简单的Spring Security教程(五):成功登录SuccessHandler高级用法
- 史上最简单的Spring Security教程(四):成功登录页面
- 史上最简单的Spring Security教程(三):不拦截系统资源
- 史上最简单的Spring Security教程(二):自定义登录页
- 史上最简单的Spring Security教程(一):一分钟搭建SpringSecurity