admin验证

This commit is contained in:
2025-07-18 16:38:40 +08:00
parent f54595466a
commit b3df268964
6 changed files with 38 additions and 2 deletions

View File

@@ -9,8 +9,10 @@ import com.ycwl.basic.exception.CheckTokenException;
import com.ycwl.basic.exception.MissTokenException;
import com.ycwl.basic.exception.PermissionException;
import com.ycwl.basic.exception.TokenExpireException;
import com.ycwl.basic.mapper.AdminUserMapper;
import com.ycwl.basic.mapper.ScenicAccountMapper;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.pc.adminUser.entity.LoginEntity;
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
import com.ycwl.basic.utils.JwtTokenUtil;
import lombok.extern.slf4j.Slf4j;
@@ -31,6 +33,7 @@ import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.List;
import static com.ycwl.basic.constant.JwtRoleConstant.ADMIN;
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
@Slf4j
@@ -41,6 +44,8 @@ public class AuthInterceptor implements HandlerInterceptor {
RedisTemplate redisTemplate;
@Autowired
private ScenicAccountMapper scenicAccountMapper;
@Autowired
private AdminUserMapper adminUserMapper;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@@ -86,6 +91,14 @@ public class AuthInterceptor implements HandlerInterceptor {
throw new TokenExpireException("token过期");
}
}
if (StringUtils.equals(jwtInfo.getRoleId(), ADMIN.type)) {
Long adminId = jwtInfo.getUserId();
LoginEntity account = adminUserMapper.getById(adminId);
LocalDateTime expireTime = jwtInfo.getExpireTime();
if (account.getUpdateAt().toInstant().getEpochSecond() != expireTime.atZone(ZoneId.systemDefault()).toEpochSecond()) {
throw new TokenExpireException("token过期");
}
}
BaseContextHandler.setToken(token);
BaseContextHandler.setName(jwtInfo.getName());
BaseContextHandler.setUserId(String.valueOf(jwtInfo.getUserId()));