![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sa-token专栏
文章平均质量分 80
shengzhang_
这个作者很懒,什么都没留下…
展开
-
Sa-Token 多账号认证:同时为系统的 Admin 账号和 User 账号提供鉴权操作
前面几篇介绍的api调用,都是经过 StpUtil 类的各种静态方法进行授权认证,而如果我们深入它的源码,点此阅览就会发现,此类并没有任何代码逻辑,唯一做的事就是对成员变量stpLogic的各个API包装一下进行转发。StpLogic 类的所有函数都可以被重写,按需扩展。在构造方法时随意传入一个不同的loginType,就可以再造一套账号登录体系。/*** 登录认证(User版):只有登录之后才能进入该方法* 可标注在函数、类上(效果等同于标注在此类的所有方法上)原创 2023-07-24 20:15:52 · 1194 阅读 · 0 评论 -
SpringBoot 使用 Sa-Token 实现账号封禁、分类封禁、阶梯封禁
时会自动校验账号是否被封禁,v1.31.0 之后将 校验封禁 和 登录 两个动作分离成两个方法,不再自动校验,请注意其中的逻辑更改。在部分场景下,我们还需要将其。相比于封禁账号的一刀切处罚,这里的关键点在于:每一项能力封禁的同时,都不会对其它能力造成影响。也就是说我们需要一种只对部分服务进行限制的能力,对应到代码层面,就是只禁止部分接口的调用。解决这种需求的关键在于,我们需要把不同处罚力度,量化成不同的处罚等级,比如上述的。有的时候,我们并不需要将整个账号禁掉,而是只禁止其访问部分服务。原创 2023-07-17 15:27:14 · 630 阅读 · 0 评论 -
使用 Sa-Token 实现不同的登录模式:单地登录、多地登录、同端互斥登录
如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号。同端互斥登录,指的就是:像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线。原创 2023-07-10 07:02:01 · 1235 阅读 · 0 评论 -
对敏感操作的二次认证 —— 详解 Sa-Token 二级认证
Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题。这就是我们本篇要讲的 —— 二级认证,即:在已登录会话的基础上,进行再次验证,提高会话的安全性。本文将介绍在 SpringBoot 架构下,如何使用 Sa-Token 完成二级认证操作。比如代码托管平台的仓库删除操作,尽管我们已经登录了账号,当我们点击。在某些敏感操作下,我们需要对已登录的会话进行二次验证。的方法必须在二级认证后才能访问成功,其效果与代码。原创 2023-07-05 06:30:10 · 302 阅读 · 0 评论 -
使用 Sa-Token 的全局过滤器解决跨域问题(三种方式全版)
在 web 开发中,跨域绝对是比较折磨新同学的一个问题,本文将讲解三种常见的跨域情形,并讲解如何使用 Sa-Token 框架解决跨域问题。原创 2023-06-22 19:55:48 · 3016 阅读 · 1 评论 -
使用 Sa-Token 实现 [记住我] 模式登录、七天免登录
一般网站的登录界面都会有一个 [记住我] 按钮,当你勾选它登录后,即使你关闭浏览器再次打开网站,也依然会处于登录状态,无须重复验证密码: 本文将详细介绍在 Sa-Token中……原创 2023-06-19 03:36:49 · 748 阅读 · 0 评论 -
前后端分离架构下使用 Sa-Token 完成登录认证
此时后端如果不做任何特殊处理,框架将会把Bearer视为token的一部分,无法正常读取token信息,导致鉴权失败。sa-token : # token前缀 token-prefix : Bearer此时 Sa-Token 便可在读取 Token 时裁剪掉Bearer,成功获取。Token前缀 与 Token值 之间必须有一个空格。一旦配置了 Token前缀,则前端提交Token时,必须带有前缀,否则会导致框架无法读取 Token。由于Cookie。原创 2023-06-05 18:08:31 · 1777 阅读 · 0 评论 -
一文详解 Sa-Token 中的 SaSession 对象
自定义Session指的是以一个特定的值作为SessionId来分配的Session, 借助自定义Session,你可以为系统中的任意元素分配相应的session// 查询指定key的Session是否存在 SaSessionCustomUtil . isExists("goods-10001");// 获取指定key的Session,如果没有,则新建并返回 SaSessionCustomUtil . getSessionById("goods-10001");原创 2023-05-30 14:18:44 · 956 阅读 · 0 评论 -
SpringBoot 使用 Sa-Token 完成路由拦截鉴权
free() 的作用是:打开一个独立的作用域,使内部的 stop() 不再一次性跳出整个 Auth 函数,而是仅仅跳出当前 free 作用域。注解,会显得非常冗余且没有必要,在这个需求中我们真正需要的是一种基于路由拦截的鉴权模式,那么在 Sa-Token 怎么实现路由拦截鉴权呢?在前文,我们详细的讲述了在 Sa-Token 如何使用注解进行权限认证,注解鉴权虽然方便,却并不适合所有鉴权场景。如上示例,代码运行至第2条匹配链时,会在stop函数处提前退出整个匹配函数,从而忽略掉剩余的所有match匹配。原创 2023-05-22 03:43:27 · 1675 阅读 · 3 评论 -
SpringBoot 使用 Sa-Token 完成注解鉴权功能
注解鉴权 —— 优雅的将鉴权与业务代码分离。本篇我们将介绍在 Sa-Token 中如何通过注解完成权限校验。Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题。原创 2023-05-15 12:21:06 · 1501 阅读 · 0 评论 -
使用 Sa-Token 完成踢人下线功能
在企业级项目中,踢人下线是一个很常见的需求,如果要设计比较完善的话,至少需要以下功能点:可以根据用户 userId 踢出指定会话,对方再次访问系统会被提示:您已被踢下线,请重新登录。可以查询出一个账号共在几个设备端登录,并返回其对应的 Token 凭证,以便后续操作。可以只踢出一个账号某一个端的会话,其他端不受影响。例如在某电商APP上可以看到当前账号共在几个手机上登录,并注销指定端的会话,当前端不受影响。原创 2023-05-09 11:24:08 · 1179 阅读 · 0 评论 -
SpringBoot 使用 Sa-Token 完成权限认证
如何在 SpringBoot 中如何使用 Sa-Token 完成权限认证操作。原创 2023-04-25 14:25:57 · 1258 阅读 · 0 评论 -
SpringBoot 项目使用 Sa-Token 完成登录认证
对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验,本篇介绍在 SpringBoot 中如何使用 Sa-Token 完成登录认证操作。原创 2023-03-30 02:04:42 · 2130 阅读 · 0 评论 -
Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例
Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例原创 2022-08-22 08:46:32 · 11237 阅读 · 5 评论 -
Sa-Token 1.30.0 更新,深度优化SSO模块
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、分布式 Session 会话、单点登录、OAuth2.0 等一系列权限相关问题。框架针对踢人下线、自动续签、前后台分离、分布式会话…… 等常见业务进行 N 多适配,通过 Sa-Token,你可以以一种极简的方式实现系统的权限认证部分Sa-Token v1.30.0 版本更新包括以下内容:新增:新增集成 Web-Socket 鉴权示例。 [重要]新增:新增集成 Web-Socket(Spring封装版) 鉴权示例。原创 2022-05-09 23:14:52 · 1259 阅读 · 0 评论 -
使用 Sa-Token 解决 WebSocket 握手身份认证
在 WebSocket 中集成 Sa-Token 身份认证,保证连接的安全性……原创 2022-02-14 00:29:18 · 4945 阅读 · 5 评论 -
SaTokenException: 未初始化任何有效上下文处理器
报错原因:Sa-Token底层不能确认最终运行的web容器,所以抽象了 SaTokenContext 接口,对接不同容器时需要注入不同的实现,通常这个注入工作都是框架自动完成的,你只需要按照文档开始部分集成相应的依赖即可解决方案如果报了这个错误,说明框架没有注入正确的上下文实现,请排查:如果你的项目是微服务项目,请直接参考:微服务-依赖引入说明,如果是单体项目,请往下看:请判断你的项目是 SpringMVC 环境还是 WebFlux 环境如果是 SpringMVC 环境就引入 sa-toke原创 2021-09-16 02:16:15 · 7953 阅读 · 0 评论 -
SaTokenException: 非Web上下文无法获取Request
报错原因:Sa-Token 的部分 API 只能在 Web 上下文中调用,报这个错说明你调用 Sa-Token 的地方不在 Web 上下文中,请排查:是否在 main 方法中调用了 Sa-Token 的API是否在带有 @Async 注解的方法中调用了 Sa-Token 的API是否在一些丢失web上下文的子线程中调用了 Sa-Token 的API,例如 MyBatis-Plus 的 insertFill 自动填充是否在一些非 Http 协议的 RPC 框架中(例如 Dubbo)调用了 Sa-To原创 2021-09-16 02:11:42 · 5213 阅读 · 3 评论 -
使用 Sa-Token 的全局过滤器解决跨域问题
在 SaTokenConfigure.java 中设置响应头即可/** * [Sa-Token 权限认证] 配置类 */@Configurationpublic class SaTokenConfigure { /** * 注册 [sa-token全局过滤器] */ @Bean public SaServletFilter getSaServletFilter() { return new SaServletFilter()原创 2021-08-26 12:23:39 · 17211 阅读 · 22 评论 -
Sa-Token v1.20.0 发布,新增临时Token认证
框架介绍Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、分布式Session会话、单点登录、OAuth2.0 等一系列权限相关问题。框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系统的权限认证部分Sa-Token v1.20.0 版本更新包括以下内容:新增:新增Solon适配插件,感谢大佬 @刘西东 提供的pr [重要]新增:新增SaRouter.stop()函数,用于一次性跳出匹配链原创 2021-06-17 16:50:46 · 512 阅读 · 0 评论 -
shiro太复杂?快来试试这个轻量级权限认证框架!
前言在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。但同时这些框架也并非十分完美,在前后台分离已成标配的互联网时代,这些老牌框架的很多设计理念已经相当滞后,无法与我们的项目完美契合。而今天我要介绍的这款框架,专门为前后台分离架构而生, 功能强大, 上手简单 —— sa-token。Sa-Token是什么?sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Ses原创 2021-03-15 22:57:39 · 275 阅读 · 0 评论 -
浅谈踢人下线的设计思路!(附代码实现方案)
前言前两天写了一篇文章,主要讲了下java中如何实现踢人下线,原文链接:java中如何踢人下线?封禁某个账号后使其会话立即掉线!本来只是简单阐述一下踢人下线的业务场景和实现方案,没想到引出那么多大佬把小弟喷的睁不开眼睛,为了避免大家继续喷我,特再写下此篇文章,彻底讲清楚各种场景下踢人下线的设计思路,如有不足之处还请各位大佬轻喷!好了废话不多说,正文开始正文如果把踢人下线比喻成拆房子,那么在学会拆房之前,我们必须要了解这座房子是怎么盖起来的,不同的盖法对应不同的拆法,不能混为一谈对于目前大多数系统原创 2021-01-21 01:43:04 · 2155 阅读 · 1 评论 -
一个登录功能也能玩出这么多花样?sa-token带你轻松搞定多地登录、单地登录、同端互斥登录
需求场景说起登录,你可能会不屑一顾,还有比这更简单的功能吗?获取一下用户提交参数 username + password 和数据库中一比对,有记录返回[登录成功],无记录返回[用户名或密码错误]什么,就这?当你熟练的打包、部署、启动项目开始了一天的摸鱼之后,产品经理开始坐不住了“小顺子啊,你看咱们的APP登录能不能加一个功能,就是那种…那个…一个用户登录之后,能把上一个登录的自动挤下线”此时的你陷入了沉思,怎么让他在登录之后,把上一个登录者的会话给挤下线呢?难道说要在每次登录之后循环一遍Ses原创 2021-01-15 15:23:42 · 1809 阅读 · 0 评论 -
初识sa-token,一行代码搞定登录授权!
前言在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。但同时这些框架也并非十分完美,在前后台分离已成标配的互联网时代,这些老牌框架的很多设计理已经相当滞后,无法与我们的项目完美契合。而今天我要介绍的这款框架,专门为前后台分离架构而生, 功能强大, 上手简单 —— sa-token。sa-token 是什么?sa-token是一个轻量级Java权限认证框架,主要解决: 登录认证、权限认证、Se原创 2021-01-13 22:14:34 · 13564 阅读 · 7 评论