自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 问答 (1)
  • 收藏
  • 关注

原创 Sa-Token 多账号认证:同时为系统的 Admin 账号和 User 账号提供鉴权操作

前面几篇介绍的api调用,都是经过 StpUtil 类的各种静态方法进行授权认证,而如果我们深入它的源码,点此阅览就会发现,此类并没有任何代码逻辑,唯一做的事就是对成员变量stpLogic的各个API包装一下进行转发。StpLogic 类的所有函数都可以被重写,按需扩展。在构造方法时随意传入一个不同的loginType,就可以再造一套账号登录体系。/*** 登录认证(User版):只有登录之后才能进入该方法* 可标注在函数、类上(效果等同于标注在此类的所有方法上)

2023-07-24 20:15:52 871

原创 SpringBoot 使用 Sa-Token 实现账号封禁、分类封禁、阶梯封禁

时会自动校验账号是否被封禁,v1.31.0 之后将 校验封禁 和 登录 两个动作分离成两个方法,不再自动校验,请注意其中的逻辑更改。在部分场景下,我们还需要将其。相比于封禁账号的一刀切处罚,这里的关键点在于:每一项能力封禁的同时,都不会对其它能力造成影响。也就是说我们需要一种只对部分服务进行限制的能力,对应到代码层面,就是只禁止部分接口的调用。解决这种需求的关键在于,我们需要把不同处罚力度,量化成不同的处罚等级,比如上述的。有的时候,我们并不需要将整个账号禁掉,而是只禁止其访问部分服务。

2023-07-17 15:27:14 539

原创 使用 Sa-Token 实现不同的登录模式:单地登录、多地登录、同端互斥登录

如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号。同端互斥登录,指的就是:像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线。

2023-07-10 07:02:01 879

原创 对敏感操作的二次认证 —— 详解 Sa-Token 二级认证

Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题。这就是我们本篇要讲的 —— 二级认证,即:在已登录会话的基础上,进行再次验证,提高会话的安全性。本文将介绍在 SpringBoot 架构下,如何使用 Sa-Token 完成二级认证操作。比如代码托管平台的仓库删除操作,尽管我们已经登录了账号,当我们点击。在某些敏感操作下,我们需要对已登录的会话进行二次验证。的方法必须在二级认证后才能访问成功,其效果与代码。

2023-07-05 06:30:10 236

原创 使用 Sa-Token 的全局过滤器解决跨域问题(三种方式全版)

在 web 开发中,跨域绝对是比较折磨新同学的一个问题,本文将讲解三种常见的跨域情形,并讲解如何使用 Sa-Token 框架解决跨域问题。

2023-06-22 19:55:48 2645 1

原创 使用 Sa-Token 实现 [记住我] 模式登录、七天免登录

一般网站的登录界面都会有一个 [记住我] 按钮,当你勾选它登录后,即使你关闭浏览器再次打开网站,也依然会处于登录状态,无须重复验证密码: 本文将详细介绍在 Sa-Token中……

2023-06-19 03:36:49 625

原创 前后端分离架构下使用 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 1607

原创 一文详解 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 758

原创 SpringBoot 使用 Sa-Token 完成路由拦截鉴权

free() 的作用是:打开一个独立的作用域,使内部的 stop() 不再一次性跳出整个 Auth 函数,而是仅仅跳出当前 free 作用域。注解,会显得非常冗余且没有必要,在这个需求中我们真正需要的是一种基于路由拦截的鉴权模式,那么在 Sa-Token 怎么实现路由拦截鉴权呢?在前文,我们详细的讲述了在 Sa-Token 如何使用注解进行权限认证,注解鉴权虽然方便,却并不适合所有鉴权场景。如上示例,代码运行至第2条匹配链时,会在stop函数处提前退出整个匹配函数,从而忽略掉剩余的所有match匹配。

2023-05-22 03:43:27 1279 2

原创 SpringBoot 使用 Sa-Token 完成注解鉴权功能

注解鉴权 —— 优雅的将鉴权与业务代码分离。本篇我们将介绍在 Sa-Token 中如何通过注解完成权限校验。Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题。

2023-05-15 12:21:06 1229

原创 使用 Sa-Token 完成踢人下线功能

在企业级项目中,踢人下线是一个很常见的需求,如果要设计比较完善的话,至少需要以下功能点:可以根据用户 userId 踢出指定会话,对方再次访问系统会被提示:您已被踢下线,请重新登录。可以查询出一个账号共在几个设备端登录,并返回其对应的 Token 凭证,以便后续操作。可以只踢出一个账号某一个端的会话,其他端不受影响。例如在某电商APP上可以看到当前账号共在几个手机上登录,并注销指定端的会话,当前端不受影响。

2023-05-09 11:24:08 1084

原创 SpringBoot 使用 Sa-Token 完成权限认证

如何在 SpringBoot 中如何使用 Sa-Token 完成权限认证操作。

2023-04-25 14:25:57 1195

原创 SpringBoot 项目使用 Sa-Token 完成登录认证

对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验,本篇介绍在 SpringBoot 中如何使用 Sa-Token 完成登录认证操作。

2023-03-30 02:04:42 2009

原创 Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例

2022-08-22 08:46:32 9878 4

原创 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 1198

原创 SpringBoot 开放一个路径作为静态资源目录

在开发时,我们可能会需要把一些静态资源文件,开放给前端访问,但是又不想把这些文件塞到项目了(主要是文件太占内存),那怎么办呢?其实springboot 提供了一个能力,可以让你把本地目录的任意文件夹,开放给前端访问。1、首先,我们在本地磁盘新建一个文件夹,像这样需要注意:你的项目在哪个盘,你就在哪个盘新建这个文件夹2、然后我们给这个文件夹里放一个文件3、然后我们在 springboot 的配置文件中,增加配置spring: # 静态文件路径映射

2022-03-18 17:43:29 997

原创 使用 Sa-Token 解决 WebSocket 握手身份认证

在 WebSocket 中集成 Sa-Token 身份认证,保证连接的安全性……

2022-02-14 00:29:18 4717 5

原创 SaTokenException: 未初始化任何有效上下文处理器

报错原因:Sa-Token底层不能确认最终运行的web容器,所以抽象了 SaTokenContext 接口,对接不同容器时需要注入不同的实现,通常这个注入工作都是框架自动完成的,你只需要按照文档开始部分集成相应的依赖即可解决方案如果报了这个错误,说明框架没有注入正确的上下文实现,请排查:如果你的项目是微服务项目,请直接参考:微服务-依赖引入说明,如果是单体项目,请往下看:请判断你的项目是 SpringMVC 环境还是 WebFlux 环境如果是 SpringMVC 环境就引入 sa-toke

2021-09-16 02:16:15 7404

原创 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 4918 3

原创 Sa-Token之注解鉴权:优雅的将鉴权与业务代码分离!

Sa-Token之注解鉴权:优雅的将鉴权与业务代码分离!Sa-Token 介绍:Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。今天,我们主要介绍一下 Sa-Token 中的注解鉴权,它可以让我们:优雅的将鉴权与业务代码分离!GitHub 开源地址:https://github.com/dromara/sa-token前置工作:1、首先我们在 pom.xml 引入依赖:&

2021-09-13 02:48:19 2087

原创 使用 Sa-Token 的全局过滤器解决跨域问题

在 SaTokenConfigure.java 中设置响应头即可/** * [Sa-Token 权限认证] 配置类 */@Configurationpublic class SaTokenConfigure { /** * 注册 [sa-token全局过滤器] */ @Bean public SaServletFilter getSaServletFilter() { return new SaServletFilter()

2021-08-26 12:23:39 16945 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 457

原创 shiro太复杂?快来试试这个轻量级权限认证框架!

前言在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。但同时这些框架也并非十分完美,在前后台分离已成标配的互联网时代,这些老牌框架的很多设计理念已经相当滞后,无法与我们的项目完美契合。而今天我要介绍的这款框架,专门为前后台分离架构而生, 功能强大, 上手简单 —— sa-token。Sa-Token是什么?sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Ses

2021-03-15 22:57:39 256

原创 浅谈踢人下线的设计思路!(附代码实现方案)

前言前两天写了一篇文章,主要讲了下java中如何实现踢人下线,原文链接:java中如何踢人下线?封禁某个账号后使其会话立即掉线!本来只是简单阐述一下踢人下线的业务场景和实现方案,没想到引出那么多大佬把小弟喷的睁不开眼睛,为了避免大家继续喷我,特再写下此篇文章,彻底讲清楚各种场景下踢人下线的设计思路,如有不足之处还请各位大佬轻喷!好了废话不多说,正文开始正文如果把踢人下线比喻成拆房子,那么在学会拆房之前,我们必须要了解这座房子是怎么盖起来的,不同的盖法对应不同的拆法,不能混为一谈对于目前大多数系统

2021-01-21 01:43:04 2059 1

原创 java中如何踢人下线?封禁某个账号后使其会话立即掉线!

需求场景封禁账号是一个比较常见的业务需求,尤其是在论坛、社区类型的项目中,当出现了违规用户时我们需要将其账号立即封禁。常规的设计思路是:在设计用户表时增加一个状态字段,例如:status,其值为1时代表账号正常,其值为0时代表账号已被封禁。当我们需要封禁一个账号时,只需要将其账号的status值修改为0即可,对方再次登录系统时,我们便可以检测到status值不为1禁止登录。这种模式虽然思路简单,但也有一个不小的问题,那就是: 如果对方一直在线不注销登录呢?由于我们只在登录时检测status值,这也

2021-01-19 13:48:39 457

原创 逛了两天码云,搜集的优秀项目!

java 权限认证框架sa-token https://gitee.com/sz6/sa-token 这可能是史上功能最全的Java权限认证框架!sureness https://gitee.com/tomsun28/sureness 一个开箱即用的高效认证鉴权框架,专注于restful api的动态保护insp4j https://gitee.com/zengzhihong/insp4j 轻量级权限框架JwtPermission https://gitee.com/w

2021-01-16 14:06:23 559

原创 一个登录功能也能玩出这么多花样?sa-token带你轻松搞定多地登录、单地登录、同端互斥登录

需求场景说起登录,你可能会不屑一顾,还有比这更简单的功能吗?获取一下用户提交参数 username + password 和数据库中一比对,有记录返回[登录成功],无记录返回[用户名或密码错误]什么,就这?当你熟练的打包、部署、启动项目开始了一天的摸鱼之后,产品经理开始坐不住了“小顺子啊,你看咱们的APP登录能不能加一个功能,就是那种…那个…一个用户登录之后,能把上一个登录的自动挤下线”此时的你陷入了沉思,怎么让他在登录之后,把上一个登录者的会话给挤下线呢?难道说要在每次登录之后循环一遍Ses

2021-01-15 15:23:42 1737

原创 初识sa-token,一行代码搞定登录授权!

前言在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。但同时这些框架也并非十分完美,在前后台分离已成标配的互联网时代,这些老牌框架的很多设计理已经相当滞后,无法与我们的项目完美契合。而今天我要介绍的这款框架,专门为前后台分离架构而生, 功能强大, 上手简单 —— sa-token。sa-token 是什么?sa-token是一个轻量级Java权限认证框架,主要解决: 登录认证、权限认证、Se

2021-01-13 22:14:34 13517 7

原创 sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登录

sa-token是什么?sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号同端互斥登录,指的就是像腾讯QQ一样,在同一类型设备上只允许单地点登录,在不同类型设备上允许同时在线在sa-token中如何做到同端互斥登录?首先在配置文件中,将 allowConcurrentLogin 配置为false,然后调用登录等相关接口时

2021-01-06 19:46:57 547 1

原创 sa-token v1.8.0 版本已发布,带来大量激动人心的特性

优化:优化源码注释修复:修复部分文档错别字修复:修复项目文件夹名称错误优化:优化文档配色,更舒服的代码展示新增:提供sa-token集成 redis 的 spring-boot-starter 方案 [重要]新增:新增集成 redis 时,以jackson作为序列化方案 [重要]新增:dao层默认实现增加定时清理过期数据功能 [重要]新增:新增token专属session, 更灵活的会话管理 [重要]新增:增加配置,指定在获取token专属session时是否必须登录新增:在无t.

2021-01-02 18:59:55 348

原创 权限认证框架sa-token的token有效期与实时续签

sa-tokensa-token 是一个非常强大的权限认证框架,其集成了诸多好用的特性,诸如:登录验证、权限验证、自定义session会话、踢人下线 等等均可以在框架中一行代码完成调用,官网地址:http://sa-token.dev33.cn/sa-token的令牌有效期sa-token 提供两种token自动过期策略,分别是timeout与activity-timeout,其详细用法如下:timeouttimeout代表token的长久有效期,单位/秒,例如将其配置为2592000(30天)

2020-12-26 21:42:10 11752

原创 sa-token 一个的JavaWeb权限认证框架,强大、简单、好用

sa-token是什么?一个的JavaWeb权限认证框架,强大、简单、好用与其它权限认证框架相比,sa-token尽力保证两点:上手简单:能自动化的配置全部自动化,不让你费脑子功能强大:能涵盖的功能全部涵盖,不让你用个框架还要自己给框架打各种补丁github:https://github.com/click33/sa-token官网文档:http://sa-token.dev...

2020-02-20 02:35:44 11171

原创 sa-admin 一个多窗口后台模板,流畅、易上手、提高生产力

自工作以来,做了不少后台增删改查的工作,也用过不少优秀的后台模板,但大多都有着一些这样那样不尽人意的地方,直到找到了sa-admin功能十分强大,而且不用修改一行代码就能集成到自己的项目中,比着官网的文档五分钟就能快速上手github:https://github.com/click33/sa-admin官网:http://sa-admin.dev33.cn/截图:程序员交流qq...

2020-02-20 02:18:37 585 2

原创 微信支付和支付宝如何获取收款物料?

一、微信1、个人版物料 步骤: +菜单 > 收付款 > 二维码收款 > 保存收款码:得到图片 然后去打印店打印,可以打印:黑白版(0.5元)、彩板(1元)、贴画版(2元) 如何打开收款提示音? +菜单 > 收付款 > 二维码收款 > 右上角菜单 > 打开收款提示音2、商家版物料 步骤: 1、从微信商户平台 或者 直接从微信...

2019-10-26 21:03:14 5701

原创 SpringBoot模板引擎之thymeleaf

1、添加依赖 <!-- springboot 视图模板依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> &...

2019-10-17 22:09:51 191

原创 微信商户平台所有产品总结

做微信相关开发有一段时间了,期间也对接了微信平台不少产品,这里写一份文档,简略总结一下微信商户平台的所有产品,把知识留在当下,这样就不怕以后遗忘了再走重复路,同时也供其它做微信相关开发的同学参考一下。微信商户平台是微信官方针对非个人(如:个体工商户、媒体、企业、政府)提供的一个开放平台,在这里可以对接微信的大部分产品,如微信支付、微信卡包优惠券、微信现金红包等等,下面对微信商户平台开放的产品一...

2019-10-10 06:02:48 3093 4

原创 SqlFly - 一个好用的java语言orm框架

官网地址:https://sqlfly.dev33.cnSqlFly是什么?一个好用的Java语言orm框架特点对内将jdbc繁琐步骤进行封装,并对外提供简洁好用的API 自动将查询结果集映射到实体类中,可以让你完全脱离对ResultSet的操作,贴心省事 内置了多种常见查询的封装,如:统计查询、分页查询等 内置一个简单的连接池实现,不使用第三方连接池也可以获得较快的执行速度...

2019-08-12 10:55:18 615

原创 sa-admin 一个简单又强大的后台管理模板

自工作以来,做了不少后台增删改查的工作,也用过不少优秀的后台模板,但大多都有着一些这样那样不尽人意的地方,直到我找到了sa-admin,功能十分强大,上手也非常简单,比着官网的介绍五分钟就能上手github:https://github.com/shengzhang666/sa-admin官网:http://sa-admin.dev33.cn/截图:程序员交流qq群:78297473...

2019-05-18 09:14:06 11206

原创 解决Vue初始化的时候,页面闪烁现象

使用vue开发时,在vue初始化之前,由于div是不归vue管的,所以我们写的代码在还没有解析的情况下会容易出现花屏现象,看到类似于{{message}}的字样,虽然一般情况下这个时间很短暂,但是我们还是有必要让解决这个问题的,从网上搜了下,有博主给出的解决方案是,在css里加上:[v-cloak] { display: none;}我试了一下,还是没有彻底的解决问题,页面加载...

2019-05-04 11:23:21 7311 3

原创 微信小程序文档大纲 供参考

首先亮出微信小程序文档地址:https://developers.weixin.qq.com/miniprogram/dev/一、指南 1、起步 小程序简介: 小程序技术发展史 -- 将h5的js-sdk如何变成小程序的 小程序与普通网页开发的区别 体验小程序 ...

2019-04-30 11:01:39 3700 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除