优化登录时效配置
This commit is contained in:
parent
522c698f6c
commit
b13523ca5e
|
|
@ -9,6 +9,7 @@ import com.mdd.common.enums.HttpEnum;
|
||||||
import com.mdd.common.mapper.user.UserMapper;
|
import com.mdd.common.mapper.user.UserMapper;
|
||||||
import com.mdd.common.utils.RedisUtil;
|
import com.mdd.common.utils.RedisUtil;
|
||||||
import com.mdd.common.utils.StringUtil;
|
import com.mdd.common.utils.StringUtil;
|
||||||
|
import com.mdd.common.utils.YmlUtil;
|
||||||
import com.mdd.front.config.FrontConfig;
|
import com.mdd.front.config.FrontConfig;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
@ -78,22 +79,24 @@ public class LikeFrontInterceptor implements HandlerInterceptor {
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
|
|
||||||
// 校验用户被删除
|
// 校验用户被删除
|
||||||
if (user.getIsDelete() == 1) {
|
if (user.getIsDelete().equals(1)) {
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
response.getWriter().print(JSON.toJSONString(result));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验用户被禁用
|
// 校验用户被禁用
|
||||||
if (user.getIsDisable() == 1) {
|
if (user.getIsDisable().equals(1)) {
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg());
|
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg());
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
response.getWriter().print(JSON.toJSONString(result));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 令牌剩余30分钟自动续签
|
// 令牌自动续签
|
||||||
if (RedisUtil.ttl(token) < 1800) {
|
int tokenRenewTime = Integer.parseInt(YmlUtil.get("like.token-renew-time"));
|
||||||
RedisUtil.expire(token, 7200L);
|
if (RedisUtil.ttl(token) < tokenRenewTime) {
|
||||||
|
long tokenValidTime = Long.parseLong(YmlUtil.get("like.token-valid-time"));
|
||||||
|
RedisUtil.expire(token, tokenValidTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 写入本地线程
|
// 写入本地线程
|
||||||
|
|
|
||||||
|
|
@ -215,8 +215,10 @@ public class LoginServiceImpl implements ILoginService {
|
||||||
user.setLastLoginTime(System.currentTimeMillis() / 1000);
|
user.setLastLoginTime(System.currentTimeMillis() / 1000);
|
||||||
userMapper.updateById(user);
|
userMapper.updateById(user);
|
||||||
|
|
||||||
|
|
||||||
String token = ToolsUtil.makeToken();
|
String token = ToolsUtil.makeToken();
|
||||||
RedisUtil.set(FrontConfig.frontendTokenKey+token, user.getId(), 7200);
|
int tokenValidTime = Integer.parseInt(YmlUtil.get("like.token-valid-time"));
|
||||||
|
RedisUtil.set(FrontConfig.frontendTokenKey+token, user.getId(), tokenValidTime);
|
||||||
|
|
||||||
LoginTokenVo vo = new LoginTokenVo();
|
LoginTokenVo vo = new LoginTokenVo();
|
||||||
vo.setId(user.getId());
|
vo.setId(user.getId());
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,16 @@
|
||||||
"name": "like.upload-directory",
|
"name": "like.upload-directory",
|
||||||
"type": "java.lang.String",
|
"type": "java.lang.String",
|
||||||
"description": "Description for like.upload-directory."
|
"description": "Description for like.upload-directory."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "like.token-valid-time",
|
||||||
|
"type": "java.lang.String",
|
||||||
|
"description": "Description for like.token-valid-time."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "like.token-renew-time",
|
||||||
|
"type": "java.lang.String",
|
||||||
|
"description": "Description for like.token-renew-time."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
# 项目配置
|
# 项目配置
|
||||||
like:
|
like:
|
||||||
upload-directory: /www/uploads/likeadmin-java/ # 上传目录
|
# 上传目录
|
||||||
|
upload-directory: /www/uploads/likeadmin-java/
|
||||||
|
# 登录有效时间 (单位秒)
|
||||||
|
token-valid-time: 7200
|
||||||
|
# 登录续签时间 (不足以下秒数续签)
|
||||||
|
token-renew-time: 1800
|
||||||
|
|
||||||
# 服务配置
|
# 服务配置
|
||||||
server:
|
server:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue