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

springboot3整合SpringSecurity实现登录校验与权限认证

一:概述

        1.1 基本概念

                (1)认证

                                系统判断身份是否合法

                                        

                (2)会话

                                为了避免每次操作都进行认证可将用户信息保存在会话中

                                        

                            session认证

                                        服务端有个session,把 session id给前端,每次请求cookie都带着session id访问服务端

                                

                        token 认证(服务端不存储token信息)

                                

                        (3)授权

                                  系统校验有无使用某项功能的权限,授权是在认证后发生的,控制不同的用户能够访问不同的资源

                                

        1.2 RBAC        

                             (1)基于角色访问授权

                                

                             缺点:当需要修改角色权限时就需要修改授权的相关代码(系统可扩展性差)

                                

                        (2)基于资源的访问控制

                                

二:基于session的认证方式

        2.1 实现认证

                (1)创建maven工程:创建项目-pom.xml导入依赖-创建config类(使用java类【spring 容器加载类、ServletContext】代替xml文件)

                使用注解扫描包和类                                                                  ServletContext

                     

                                                加载Spring容器

                

                (2)基于session的认证方式

                        工具类

                                       

                        

                      Controller

                                

                        Service

                            

        2.2 实现会话

                (1)创建key

                          

                (2)登录成功后存入session

                   

                

        2.3 实现授权

                使用户和权限绑定

                        (1)service

                                        

                     (2)拦截器

                             

                    (3)WebCconfig增加拦截器(使拦截器生效)

                           

三:Spring Security

        3.1 概述

                

        3.2 创建工程

                (1)创建项目-添加依赖

                                

                (2)配置类

                                Spring容器配置

                                        

                                ServletConfig(SpringSecurity提供拦截用户请求授权的功能)

                                        

                               加载Spring容器

                                        

        3.3 认证功能

                (1)查询用户信息

                        InMemoryUserDetailsManager类似于SQL中的一个临时表或内存数据库,createUser 方法用来创建新的用户,类似于SQL中的INSERT INTO语句,                                     User.withUsername().password().authorities().build()类似于SQL中的VALUES子句,这里指定了新用户的各个属性

                        

                (2)密码编码器

                 

                (3)安全拦截机制

                                

相关文章:

  • 理解反向Shell:隐藏在合法流量中的威胁
  • React 从零到一执行原理 (2025 最新版)
  • 数据仓库Hive
  • 力扣2680题解
  • 趣味编程:四叶草
  • 一种混沌驱动的后门攻击检测指标
  • 关于chatshare.xyz激活码使用说明和渠道指南!
  • vue数据可视化开发echarts等组件、插件的使用及建议-浅看一下就行
  • MNIST 手写数字分类
  • HVV面试题汇总合集
  • 雷达工程师面试题目
  • Redis 基础详解:从入门到精通
  • 【Redis】Redis的主从复制
  • 5G-A来了!5G信号多个A带来哪些改变?
  • C++ stl中的priority_queue的相关函数用法
  • 大模型都有哪些超参数
  • 如何实现Flask应用程序的安全性
  • 接口在函数参数和对象类型中的应用
  • 3D虚拟工厂vue3+three.js
  • 使用FastAPI和React以及MongoDB构建全栈Web应用07 FastAPI实现经典三层架构
  • 国产水陆两栖大飞机AG600批产首架机完成总装下线
  • 央行等印发《关于金融支持广州南沙深化面向世界的粤港澳全面合作的意见》
  • 季子文化与江南文化的根脉探寻与融合
  • 上海浦东机场1号、2号航站楼均推出国内出发安检24小时服务
  • 政策一视同仁引导绿色转型,企业战略回应整齐划一?
  • 伊美第四轮核问题谈判开始