当前位置: 首页 > news >正文

Spring Boot的Security安全控制——认识SpringSecurity!

Spring Boot的Security安全控制

在Web项目开发中,安全控制是非常重要的,不同的人配置不同的权限,这样的系统才安全。最常见的权限框架有Shiro和Spring Security。Shiro偏向于权限控制,而Spring Security能实现权限控制和安全控制,是一个非常全面的安全框架,在项目开发中有非常广泛的用途。本章重点介绍SpringSecurity框架的相关知识。

认识Spring Security

Spring Security是一个为Spring企业应用系统提供声明式安全访问控制解决方案的安全框架,它是由Spring团队提供的。Spring Security提供一组可以在Spring应用上下文中配置的Bean,能充分地利用Spring的IoC、DI和AOP的功能为项目提供声明式安全访问控制功能,减少因安全控制而需要编写大量重复代码的工作,从而提升项目代码的质量。

Spring Security框架有以下4大特性:

全面且可扩展地支持身份验证和授权;

防御会话固定、单机劫持和跨站请求伪造等攻击;

支持Servlet API集成;

支持与Spring Web MVC集成。

Spring Security框架支持以下两种Web应用的安全认证。

1. 用户认证(Authentication)

用户认证指的是验证某个用户是否为系统的合法用户,确认用户能否访问该系统。用户认证一般要求用户提供用户名、密码和验证码。SpringSecurity通过校验用户名、密码和验证码来完成认证的过程。

2. 用户授权(Authorization)

用户授权指的是验证来自Web的某个用户是否有权限执行某个操作。在一个完整的系统中,不同级别的用户具有不同的权限。例如,对于一个文件来说,有的用户只能读取,而有的用户可以修改和删除。一般而言,系统中的权限模块会为不同的用户分配不同的角色,且每个角色有不同的权限,每个用户都有不同的角色。

Spring Security的执行流程如下:首先用户在登录时输入登录信息,登录验证器会完成登录认证并将当前用户的登录认证信息存储到请求上下文中,再调用其他业务,如访问接口和调用方法时,可以随时从上下文中获取用户的登录信息和用户的基本信息,再根据认证信息获取权限信息,通过权限信息和特定的授权策略决定是否授权,从而达到认证和授权的目的。

http://www.xdnf.cn/news/1025731.html

相关文章:

  • LangChain--(2)
  • 【测试开发】函数进阶-纯函数、内置函数、匿名函数、偏函数
  • 梨泛转录组-文献精读145
  • 基于sample_aiisp再创建一路 h264编码流,和jpg的编码流
  • BugKu Web渗透之秋名山车神
  • 高效解决Java内存泄漏问题:方法论与实践指南
  • 解决Avantage 6.0版本以上峰拟合 峰显示不全的问题
  • 2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
  • windows 电脑如何寻找 自己电脑上的 mac 地址
  • Linux cgroup 技术
  • 语法疫苗:SynCode如何为LLM生成装上“防崩溃引擎”
  • 学习笔记:Redis入门
  • 数学中 “熵“ 的奇妙世界
  • 【深入剖析】攻克 Java 并发的基石:Java 内存模型 (JMM) 原理与实践指南
  • R2S2:通过现实世界现成的技能空间释放人形机器人的潜力
  • 【考研数学:高数8】一元函数积分学的概念与性质
  • 基于Java+Swing实现餐厅点餐系统(含课程报告)
  • 【大模型推理】CTA与SM关系
  • 玩转计算机视觉——按照配置部署paddleOCR(英伟达环境与昇腾300IDUO环境)
  • Python 训练营打卡 Day 50
  • 网盘直链解析网页版
  • Java多线程:为什么wait()必须用循环而非if?
  • Python 学习路线图:从入门到精通的完整指南
  • 泰国电商系统简单纪要
  • atcoder [ABC271D] Flip and Adjust
  • 前端面经整理【2】
  • 【无标题】二维拓扑色动力学模型:数学物理基础与可行性论证
  • 窗口函数详解​
  • Jmeter调用jar包中的方法,并使用返回值当请求参数
  • 如何在Linux命令窗口中执行MySQL脚本