From 3cc66f911c6a7b0d55ddb58c67e16963195ea351 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Mon, 08 Mar 2021 18:42:39 +0800 Subject: [PATCH] 账号强制被踢出登录状态逻辑的优化 --- kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java b/kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java index 0d931f5..dc7af4f 100644 --- a/kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java +++ b/kidgrow-uaa/kidgrow-uaa-biz/src/main/java/com/kidgrow/oauth2/service/impl/RedisTokensServiceImpl.java @@ -4,9 +4,12 @@ import cn.hutool.core.util.StrUtil; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.utils.StringUtils; import com.kidgrow.redis.template.RedisRepository; import com.kidgrow.oauth2.model.TokenVo; import com.kidgrow.oauth2.service.ITokensService; +import com.kidgrow.redis.util.RedisUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +35,8 @@ public class RedisTokensServiceImpl implements ITokensService { @Autowired private RedisRepository redisRepository; + @Autowired + private RedisUtils redisUtils; @Override public PageResult<TokenVo> listTokens(Map<String, Object> params, String clientId) { @@ -81,4 +86,27 @@ } return result; } + + @Override + public ResultBody getBeforLogin(Map<String, Object> map) { + String name = MapUtils.getString(map, "name"); + if (StringUtils.isBlank(name)) { + return ResultBody.failed("请输入用户名"); + } + String webApp = MapUtils.getString(map, "webApp"); + if (StringUtils.isBlank(webApp)) { + return ResultBody.failed("请输入应用id"); + } + List<Object> objectList = redisUtils.lGet(SecurityConstants.REDIS_UNAME_TO_ACCESS+webApp+":"+name,0,0 + ); + if(objectList!=null){ + if (objectList.size()>0) { + return ResultBody.ok().data(false); + }else { + return ResultBody.ok().data(true); + } + }else { + return ResultBody.ok().data(true); + } + } } -- Gitblit v1.8.0