认识SpringSecurity

简介: SpringSecurity是Java领域主流的权限框架,核心功能包括认证与鉴权。支持表单、OAuth2、JWT等多种认证方式,提供URL级、方法级的细粒度权限控制,兼容RBAC模型,并具备CSRF防护等安全机制,整体基于过滤器链实现,灵活可扩展。

1-SpringSecurity核心功能
1.认证
什么是认证:
SpringSecurity作为一款成熟的鉴权框架,目前支持的认证机制非常的全,这里我们可以简单了解一下:
● 表单认证
● OAuth2.0认证
● SAML2.0认证
● CAS认证
● RememberMe 自动认证
● JAAS认证
● OpenID 去中心化认证
● X509认证
● Http Basic认证
● Http Digest认证
而SpringSecurity不仅可以支持上面的认证机制,还可以通过引入第三方依赖支持更多认证方式,同时也允许用户自定义认证逻辑(这个我们后面会讲)。
2.鉴权
基于上面的多种认证方式(实际那种认证都不影响鉴权),SpringSecurity支持基于URL的请求授权、方法访问授权、支持SPEL表达式访问控制、支持ACL自定义对象安全,同时支持动态授权配置、支持RBAC权限模型,简单一句话:基本没有SpringSecurity做不了的鉴权。
3.其他
除了熟知的认证、授权两个核心功能,SpringSecurity还可以自动防御很多网络攻击,如CSRF攻击等,可参照:
https://www.yuque.com/yzxb/index/py8ihz2gghkcaht0
2-SpringSecurity核心架构
SpringSecurity的种种功能,都是基于过滤器实现的,这些过滤器根据默认或用户指定的顺序(@Order注解或实现Ordered接口)排列,形成一个过滤器链。
1.过滤链
SpringSecurity的功能实现关键就是依赖过滤器链
Spring Security 的 Servlet 支持是基于 Servlet Filter 的,因此首先大致了解一下 Filter 的作用是有帮助的。下图显示了单个 HTTP 请求的处理程序的典型分层:image.png

相关文章
|
1月前
|
存储 弹性计算 固态存储
阿里云服务器如何购买价格更便宜?领优惠券便宜购买教程参考
想省钱买阿里云服务器?关键三步:先领券(新用户165元礼包、学生300元无门槛券)、再选对机型(轻量2核2G仅38元/年)、最后选长周期(2-3年付折扣达3.9折)。本教程详解2026最新优惠与实操技巧,助你轻松省下50%以上!
393 1
阿里云服务器如何购买价格更便宜?领优惠券便宜购买教程参考
|
4月前
|
JSON Java fastjson
Spring Boot返回Json数据及数据封装
Spring Boot默认使用Jackson处理JSON,通过@RestController可直接返回JSON数据。本文详解Jackson与FastJson的配置与对比,并封装统一的JSON返回结构,提升前后端交互规范性与开发效率。
|
4月前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器全解析:规格特性、场景适配与使用指南
在云计算领域,轻量应用服务器以 “简单易用、高性价比” 为核心优势,成为个人开发者与中小企业上云的首选。阿里云 2025 年升级的轻量应用服务器,全系标配 200Mbps 峰值带宽,覆盖通用型、多公网 IP 型、国际型、容量型四大实例类型,适配网站搭建、跨境电商、游戏加速等多元场景。本文结合官方文档与实测数据,从核心特性、规格参数、价格体系、场景适配及使用注意事项等维度展开解析,为用户提供客观选型参考。
|
4月前
|
数据采集 人工智能 搜索推荐
AI 问答占 52%!长沙别墅装修 GEO 突围:30 天引用率暴涨 40%
周有贵,巴黎学院人工智能博士,GGI商学院GEO首席技术专家,专注AI时代数字营销革新。2025年12月1日,长沙著名别墅设计师张主华专程拜访交流,共探GEO技术在装修设计行业中的AI引流逻辑与实操应用。面对生成式AI问答入口占比突破52%的新趋势,传统SEO正被GEO取代——从链接点击到答案呈现,企业需通过构建灯塔内容、E-E-A-T信任链与结构化数据,让品牌信息被AI优先引用。本次对话揭示:未来流量之争,本质是“被AI推荐”的能力之争。
|
机器学习/深度学习 存储 算法
数据结构实验之二叉树实验基础
本实验旨在掌握二叉树的基本特性和遍历算法,包括先序、中序、后序的递归与非递归遍历方法。通过编程实践,加深对二叉树结构的理解,学习如何计算二叉树的深度、叶子节点数等属性。实验内容涉及创建二叉树、实现各种遍历算法及求解特定节点数量。
418 4
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2作图展示基因和转座子的相对位置
跟着Nature学作图:R语言ggplot2作图展示基因和转座子的相对位置
|
消息中间件 Java 中间件
RocketMQ延迟消息的代码实战及原理分析
在RocketMQ中,支持延迟消息,但是不支持任意时间精度的延迟消息,只支持特定级别的延迟消息。如果要支持任意时间精度,不能避免在Broker层面做消息排序,再涉及到持久化的考量,那么消息排序就不可避免产生巨大的性能开销。
4075 0
|
存储 安全 Java
Java 注解详解
在 Java 编程中,注解(Annotation)是一种元数据,它提供了关于程序代码的额外信息。注解不直接影响程序的执行,但可以在运行时提供有关程序的信息,或者让编译器执行额外的检查。 本文将详细介绍 Java 注解的基本概念、内置注解和自定义注解的创建与使用。
295 0
|
Apache
wampserver服务器修改默认端口号
wampserver服务器修改默认端口号
717 1
|
调度
从零玩转xxl-job分布式任务调度2
从零玩转xxl-job分布式任务调度
533 0

热门文章

最新文章