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

Spring Security基本入门

1、为什么要使用权限框架

权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。

2、权限管理的常见方案

2.1、权限框架 Shiro

Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份 认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。Shiro最大的特点是 不跟任何的框架或者容器捆绑,可以独立运行。
如果我们项目,没有使用到Spring框架,可以考虑使用Shiro。Shiro在小项目使用比较常见。
Shiro 最大的问题在于和 Spring 家族的产品进行整合时较为不便。在Spring Boot 推出的很长一段时间里,Shiro 都没有提供相应的 starter,后来虽然有一个 shiro-spring-boot-web-starter 出来,但配置并没有简化多少。所以在 Spring Boot/Spring Cloud 技术栈的微服务项目中,Shiro几乎不存在优势。

2.2、使用拦截器(过滤器)+JWT 实现地址鉴权

我们的SpringMVC框架是遵循Servlet规范的,其中存在过滤器和拦截器的概念。我们可以通过使用拦截器和过滤器+JJWT实现权限的校验

2.3、使用AOP进行鉴权

这种方式本质上是在方法执行前进行权限校验。

2.4、权限框架 Spring Security

Spring Security是一个功能强大且高度可定制的,主要负责为Java程序提供声明式的身份验证和访问控制的安全框架。前身是Acegi Security,后来被收纳为Spring的一个子项目,并更名为了Spring Security。

3、权限框架核心概念

3.1、认证

请求认证:判断一个用户是否为合法用户的处理过程,最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户和口令是否一致,来判断用户身份是否正确。
如下图所示:

3.2、授权

授权就是用户登录后,控制用户是否有权限访问某些资源。如下图所示:

相关文章:

  • 网站的做用2022年百度seo
  • 做建材哪个网站平台好镇江市网站
  • 轻淘客的轻网站怎么做线上线下推广方案
  • 广东一站式网站建设报价百度客服24小时电话人工服务
  • 小程序设计开发西青seo
  • 网站可信认证在哪里做全网营销方案
  • python 基础:句子缩写
  • [leetcode]01背包问题
  • 架构设计之Redisson分布式锁-可重入同步锁(一)
  • 用labview写crc8校验
  • SQL优化算法解析 | PawSQL 如何将EXISTS子查询“秒拆“为JOIN连接
  • 告别复杂布线!PLC无线以太网互联的终极解决方案
  • Nodejs的后端看框架集合,你更喜欢那一个?
  • 网络原理
  • 【Linux】之【Get】 chroot 环境下安装deb包时 .postinst:行 9: 201 段错误 (核心已转储)ldconfig
  • 多卡分布式训练:torchrun --nproc_per_node=5
  • LeetCode 热题 100_零钱兑换(85_322_中等_C++)(动态规划)
  • 在cordova环境下配置IOS项目,并成功运行起来
  • jQuery 插件
  • npm、nvm、nrm
  • MySQL 优化教程:让你的数据库飞起来
  • 我所学的cfd【1
  • WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网不回显
  • 水利水电安全员ABC适合哪些人考?
  • QT 调用动态链接库
  • 基于CNN-LSTM-GRU的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码