权限框架的里程碑,Spring Security电子版教程已问世

java学习 成长思维导图:

Spring Security 介绍

Spring Security是Java企业级开发中常用的安全管理框架,也能完美支持OAuth2。同时,Spring Security作为Spring家族的一员,与Spring Boot、Spring Cloud等框架整合使用也非常方便。

目前市面上 Spring Security 相关的资料书籍少之又少,我翻阅了各大平台网站都没有发现真正能把 Spring Security 讲解得十分透彻,由此特意去拜访了一位老朋友,整理出了这份 Spring Security 全解,在这里我选择将它进行一个开源式的分享,大体内容如下:

Spring Security中的用户信息

    Spring Security 和Apache Shiro 认证/鉴权 过滤器链 RBAC模型 其他一些概念 Spring Boot 集成 Spring Security UserDetailsServiceAutoConfiguration UserDetailsService UserDetails UserDetailsServiceAutoConfiguration 自定义UserDetailsManager 数据库管理用户 不推荐使用md5 Spring Security中的密码算法 Spring Security 加载 PasswordEncoder 的规则 bcrypt 编码算法

Spring Boot 中的 Spring Security 自动配置初探

    Spring Boot 下 Spring Security 的自动配置 @EnableWebSecurity 注解 SecurityFilterAutoConfiguration URI中的 Ant 风格 Spring MVC 和 Spring Security 中的 Ant 风格 自定义配置类WebSecurityConfigurerAdapter HttpSecurity 配置

实现自定义登录

    form登录的流程 Spring Security 中的登录 HttpSecurity中的form表单登录 Spring Security聚合登录实战 多种登录方式并存的实现 图解认证过滤器UsernamePasswordAuthenticationFilter 图解认证管理器AuthenticationManager AuthenticationManager的初始化细

Spring Security中的“分布式对象”

    SharedObject 从零手写一个验证码登录 集成到Spring Security 验证码认证管理器、过滤器 Spring Security 中的内置 Filter 内置过滤器初始化、讲解 Spring Security中的过滤器链及其机制 图解Spring Security的过滤器体系 Servlet Filter体系 GenericFilterBean DelegatingFilterProxy SecurityFilterChain FilterChainProxy 实现自定义退出登录 我们使用 Spring Security 登录后都做了什么

Web无状态会话Token技术JWT

    JWT知识扩展JOSE 我们都看错了 JWT 什么是 JWE Spring Security jose 相关 构造JWT Token生成服务 JWT 解码以及验证 spring-security-jwt 构建 JWT 中的 payload 生成 RSA 密钥并进行签名 spring-security-jwt JWT 解码以及验证

实现Spring Security登录后返回JWT

    实现登录成功/失败返回逻辑 Spring Security中自定义异常处理 Http 状态对认证授权的规定 Spring Security 中的异常处理 Spring Security中使用 JWT 认证访问接口 常用的 Http 认证方式 Json Web Token 的认证方式 Bearer Authentication Spring Security 中实现接口 Jwt 认证 定义 Json Web Token 过滤器 配置 JwtAuthenticationFilter

对RBAC权限控制的理解

    为什么需要 RBAC? RBAC 模型的分类 RBAC 中一些概念的理解 基于配置的接口访问控制 将角色写入 UserDetails 在 HttpSecurity 中进行配置角色访问控制 permitAll 与 anonymous 的一些探讨 基于注解的接口访问控制 Spring Security 方法安全 @EnableGlobalMethodSecurity 注解 使用 prePostEnabled 使用 jsr250Enabled 使用 securedEnabled

安全上下文SecurityContext

    SecurityContextHolder 实现动态权限控制 动态的权限控制同样依赖 RBAC 模型 请求认证过程 如何结合安全框架 Spring Security 提供的轮子 FilterSecurityInterceptor FilterInvocationSecurityMetadataSource AccessDecisionManager AccessDecisionVoter 在一个应用中实现多个安全策略 如何 路由 不同的安全配置 如何指定默认的HttpSecurity 如何配置不同的UserDetailsService

相比较Shiro而言,Security功能更加的强大,它可以很容易地扩展以满足更多安全控制方面的需求,特别是随着现在 Spring Boot 和 Spring Cloud 的流行,Spring Security 正在走向舞台中央。

经验分享 程序员 微信小程序 职场和发展