简单介绍一下sa-token
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
就是因为这句话,越来越多的小伙伴们开始使用sa-token,当然我也不例外,这篇文章就我在使用中遇到的问题,还有一些设计思路做一个简单的总结。也是记录一下免得以后自己忘掉了,下面进入正题。
首先简单描述一下需求,在不使用SSO以及Oauth2.0的情况下,实现IOS,安卓,WEB,PC多端登录,并且登录后有时效(有效期),在有效期内如果有一小时(或者任意时间段) 内用户未进行操作,需要把当前用户登出(当前用户所在的设备端登出,其他端不登出),而且每个设备端的登出时间段不相同(栗子:ios和安卓的有效期是30天,不需要校验多久未操作登出,web有效期为一天,但是一个小时未操作就要被登出),这个就是我当时要做的需求,希望说的比较明白了。
说一下思路,首先看一下sa-token有没有我需要的api,在登录的时候,可以通过定义SaLoginModel 来配置当前登录人的设备端以及token的超时时间,但是对于临时有效期的配置,这里是没有的。
StpUserUtil.login(user.getUserId(),new SaLoginModel()
.setDevice(clientType).setTimeout(timeOut));
所以我是怎么解决的呢? 当翻阅了源码过后发现sa-token的临时有效期是通过getConfig()方法每次从配置文件中获取的,这下思路就打开了。
在官方文档中提到了自定义的StpUtil也就是StpUserUtil,在文档中展示如下
public class StpUserUtil {
// 使用匿名子类 重写`stpLogic对象`的一些方法
public static StpLogic stpLogic = new StpLogic("user") {
// 重写 StpLogic 类下的 `splicing

本文介绍如何使用sa-token框架实现iOS、安卓、Web及PC等多端登录,并设置不同设备端的登录时效及操作超时登出机制。
最低0.47元/天 解锁文章
990

被折叠的 条评论
为什么被折叠?



