// token值"isLogin":true,// 此token是否已经登录"loginId":"10001",// 此token对应的LoginId,未登录时为null"loginType":"login",// 账号类型标识"tokenTimeout":2591977,// token剩余有效期 (单位: 秒)"sessionTimeout":2591977,// User-Session剩余有效时间 (单位: 秒)"tokenSessionTime...
1、统一异常处理 package com.asurplus.common.satoken;import cn.dev33.satoken.exception.*;import com.asurplus.common.utils.RES;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;/*** 全局异常处理** @Author Lizhou*/@RestCo...
以供调试nle.printStackTrace();// 判断场景值,定制化异常信息Stringmessage="";if(nle.getType().equals(NotLoginException.NOT_TOKEN)){message="未提供token";}elseif(nle.getType().equals(NotLoginException.INVALID_TOKEN))
Sa-Token 是一个简单易用的 java 权限认证框架3 人赞同了该文章 一、设计思路 对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验: 如果校验通过,则:正常返回数据。 如果校验未通过,则:抛出异常,告知其需要先进行登录。 那么,判断会话是否登录的依据是什么?我们先来简单分...
.NOT_TOKEN)){message="未提供token";}elseif(nle.getType().equals(NotLoginException.INVALID_TOKEN)){message="token无效";}elseif(nle.getType().equals(NotLoginException.TOKEN_TIMEOUT)){message="token已过期";}elseif(nle.getType().equals(NotLoginException.BE_REPLACED)){message="token已被顶下线";...
message ="未提供token"; }elseif(nle.getType().equals(NotLoginException.INVALID_TOKEN)) { message ="token无效"; }elseif(nle.getType().equals(NotLoginException.TOKEN_TIMEOUT)) { message ="token已过期"; }elseif(nle.getType().equals(NotLoginException.BE_REPLACED)) { ...
// 2、如果前端根本没有提供 Token ,则直接返回 null StringtokenValue=getTokenValue(); if(SaFoxUtil.isEmpty(tokenValue)) { returnnull; thrownewSaTokenException("Token-Session 获取失败:token 为空").setCode(SaErrorCode.CODE_11073); }
springboot集成shiro springboot集成satoken,一、设计思路对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验:如果校验通过,则:正常返回数据。如果校验未通过,则:抛出异常,告知其需要先进行登录。那么,判断会话是否登录
SaTokenConfig SaTokenDao loginModel生成一个token 根据SaTokenConfig类中的allowConcurrentLogin值判断是否允许并发登录 如果允许就再次判断是否配置为共享token(在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token),根据SaTokenConfig中的isShare变量进行判断)如果...
讲了这么多,其实我们的问题就是SaHolder为什么能获取response对象,现在直接说结论,因为SaHolder调用了SaManager.getSaTokenContext(),得到了SaTokenContext才可以通过getResponse方法获取SaResponse,而SaTokenContext的真实身份其实是SaTokenContextForSpring,SaTokenContextForSpring重写了getResponse,就是在这个方法去调用Spring...