Sa-Token + SpringBoot 实现登录鉴权

news2024/11/26 14:55:24

1. 技术选型

今天最近在做登录、授权的功能,一开始考虑到的是spring boot + spring security,但spring security太重,而我们是轻量级的项目,所以,spring security不适合我们。

而后考虑spring boot + shiro,但shiro自带的aop会影响spring boot的aop,所以,shiro也不适合我们。

后来浏览github时,发现Sa-Token这个框架,如下是Sa-Token的功能图:

2. Sa-Token概述

2.1 简单介绍

Sa-Token是一个轻量级Java权限认证框架。

主要解决的问题如下:

  • 登录认证

  • 权限认证

  • 单点登录

  • OAuth2.0

  • 分布式Session会话

  • 微服务网关鉴权等一系列权限相关问题。

2.2 登录认证

设计思路

对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验:

  • 如果校验通过,则:正常返回数据。

  • 如果校验未通过,则:抛出异常,告知其需要先进行登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

等保测评包过是真的吗?安全吗?

最近有小伙伴在问,等保测评包过是真的吗?安全吗?哪位大哥来解答一下? 等保测评包过是真的吗?安全吗? 【回答】:等级保护采用备案与测评机制,而非认证机制,因此不存在“包…

uni-app:常见组件view、text、icon

根据html:可知div是块级标签,span是行级标签 这里view类似于div,text类似于span,即 块级标签:view 行级标签:text、icon 类似效果 两个icon图标,置于第一排 两个view,分别位于第…

四维轻云地理空间数据在线协作管理平台为测绘行业用户解决了这些难题

测绘作为一个基础性行业,从大比例的地形图到铁路网、公路网的分布,再到互联网地图,测绘的身影随处可见。随着科技的不断发展与进步,无人机也成为测绘行业的一部分。通过无人机测绘技术能够获取高精度的影像数据并生成三维模型和点…

华菱电子冲刺创业板上市:计划募资6.5亿元,总经理为日本国籍

7月17日,深圳证券交易所披露的信息显示,已对山东华菱电子股份有限公司(下称“华菱电子”)发出第1轮审核问询函。目前,华菱电子在深圳证券交易所的审核状态已经变更为“已问询”。 根据公开信息,华菱电子于2…

WooCommerce适合企业电子商务吗?

目录 成功开展电子商务业务变得比以往任何时候都容易。市场上有几个现成的平台,完全有可能将一个初步的想法快速转变为在线贸易业务,并源源不断地收到订单。 什么是 WooCommerce? 为什么您应该考虑使用 WooCommerce 很灵活 重量轻且功…

一文读懂 MySQL 中的索引

文章目录 1. 索引概述1.1 索引概述1.2 优点1.3 缺点1.6 常见索引概念1.6.1 聚簇索引1.6.2 二级索引(辅助索引、非聚簇索引)1.6.3 联合索引 1.8 MyISAM索引的原理1.9 MyISAM 与 InnoDB对比1.10 索引的代价 2. 索引的创建与设计原则2.1 索引的声明与使用2.…

算法训练营第四十二天||● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

● 01背包问题,你该了解这些! 二维dp数组 ● 01背包问题,你该了解这些! 滚动数组 一维dp数组 dp[j] max(dp[j], dp[j - weight[i]] value[i]); ● 416. 分割等和子集 本题属于01背包问题的应用, 这道题目是要…

【EasyExcel】在SpringBoot+VUE项目中引入EasyExcel实现对数据的导出(封装工具类)

在SpringBootVUE项目中引入EasyExcel实现导入导出 一、引入EasyExcel 通过maven引入&#xff0c;坐标如下&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel-core</artifactId><version>3.3.2</version…

Mysql 单表使用索引注意事项(避免失效)

Mysql 单表使用索引 1.尽量建全索引 查询的字段按照顺序在索引中都可以匹配到&#xff01; SQL中查询字段的顺序&#xff0c;跟使用索引中字段的顺序是有关系的。但是在不影响SQL执行结果的前提下&#xff0c;给你自动地优化。没有顺序限制了 2. 最佳左前缀法则 查询字段与…

ES系列--es进阶

一、系统架构 一个运行中的 Elasticsearch 实例称为一个节点&#xff0c;而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成&#xff0c; 它们共同承担数据和负载的压力。当有节点加入集群中或者 从集群中移除节点时&#xff0c;集群将会重新平均分布所有的数据。 …

uniapp离线引入阿里巴巴图标

阿里巴巴图标地址 1.添加图标到购物车 2.点击购物车进入项目 3.下载到本地 4.解压后文件目录 5.放入项目目录中(比如说我经常放在common或者static下icon中) 6.在main.ts或者main.js中引入&#xff08;注意路径&#xff0c;用相对的也行&#xff09; import /static/iconfon…

qt和vue交互

1、首先在vue项目中引入qwebchannel /******************************************************************************** Copyright (C) 2016 The Qt Company Ltd.** Copyright (C) 2016 Klarlvdalens Datakonsult AB, a KDAB Group company, infokdab.com, author Milian …

Cisco学习笔记(CCNA)——Introduction to TCP/IP

Introduction to TCP/IP 常见协议 应用层协议 协议 端口号 描述 HTTP 80 超文本传输协议&#xff0c;提供浏览网页服务 Telnet 23 远程登录协议&#xff0c;提供远程管理服务 FTP 20、21 文件传输协议&#xff0c;提供互联网文件资源共享服务 SMTP 25 简单邮件传…

【个人笔记】Linux登录时要执行的文件与内建命令

Linux登录时要执行的文件 在刚登录Linux时&#xff0c;首先启动 /etc/profile 文件&#xff0c;然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 **/.profile**文件中的其中一个&#xff0c;执行的顺序为&#xff1a;/.bash_profile、 ~/.bash_login、 ~/.profile。…

使用基于自动化生成式 AI 的 Ansible-Lightspeed 服务高效开发 Ansible Playbook(附视频)

《OpenShift / RHEL / DevSecOps 汇总目录》 自动化生成式 AI 的 Ansible-Lightspeed 服务核心功能 Ansible-Lightspeed 是 RedHat 提供的一项自动化生成式 AI 的服务&#xff0c;它可以帮助 Ansible 开发人员更快、更好地开发 Playbook。除了自动生成 Playbook 内容外&#…

直播回顾|用户增长之路,如何兼具体验和点击率?

激活用户的关键在于深入理解产品功能、引导用户体验产品的核心价值。在这方面&#xff0c;推送功能就是简单而便捷的解决方案之一。通过推送活动和优惠消息&#xff0c;吸引用户点击&#xff0c;进而提升用户参与度和留存率。 在推送消息的过程中&#xff0c;我们可能会遇到这…

ROS节点通信Demo

0 开始之前 确保你已经安装了ROS (Robot Operating System)。 1 第一步&#xff1a; 创建一个ROS包 在开始编程前&#xff0c;我们首先创建一个新的ROS包(package)。移动到你的catkin workspace的 src 文件夹下&#xff0c;然后运行以下命令&#xff1a; cd ~/catkin_ws/sr…

linux之Ubuntu系列(二)远程管理指令 putty Xshell

shutdown shutdown 选项 时间 关机或重启 选项&#xff1a; -r 重新启动 提示 不指定选项和参数&#xff0c;默认表示1分钟之后 关闭电脑用SSH远程维护服务器时&#xff0c;最好不要关闭系统&#xff0c;而应该重新启动系统 -r shutdown常用示例 # 1分钟后关机 shutdown …

LayUI之增删改查

目录 一、前言 1.1 前言 1.2 前端代码(数据表格组件) 1.3 封装JS 二、LayUI增删改查的后台代码 2.1 编写Dao方法 2.1 增加 2.2 删除 2.3 修改 三、LayUI增删改查的前端代码 3.1 增加 一、前言 1.1 前言 上一篇文章我们一起做了LayUI的动态添加选项卡&#xff0c;这一篇…

uniapp基于阿里图标库引入彩色的图标iconfont

1.进入阿里巴巴矢量图标库链接: https://www.iconfont.cn/&#xff0c;添加图标到项目&#xff0c;然后下载至本地 2.对下载的文件进行解压&#xff0c;命令行进入解压后的文件下&#xff0c;执行一下命令&#xff0c;全局安装iconfont-tools工具 npm install -g iconfont-to…