| | |
| | | |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.example.pojo.User; |
| | | import org.example.server.UserService; |
| | | import org.example.server.impl.UserServiceImpl; |
| | |
| | | }else { |
| | | token = request.getHeader("token"); |
| | | } |
| | | if(null == token){ |
| | | if(StringUtils.isEmpty(token)){ |
| | | // 未登录,返回未授权错误码或重定向到登录页 |
| | | response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 返回 401 未授权状态码 |
| | | response.setCharacterEncoding("UTF-8"); |
| | |
| | | return false; |
| | | } |
| | | User user = JwtUtil.verify(token); |
| | | if(null == user){ |
| | | String s = RedisUtil.get(user.getId().toString()); |
| | | if(StringUtils.isEmpty(s) && s.equals(token)){ |
| | | // 未登录,返回未授权错误码或重定向到登录页 |
| | | response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 返回 401 未授权状态码 |
| | | response.setCharacterEncoding("UTF-8"); |
| | | response.getWriter().write("请登录"); |
| | | return false; |
| | | } |
| | | |
| | | if (user.getIsRoot() == 1) { |
| | | // 已登录,允许请求继续 |
| | | return true; |
| | | } else { |
| | | // 未登录,返回未授权错误码或重定向到登录页 |
| | | response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 返回 401 未授权状态码 |
| | | response.setCharacterEncoding("UTF-8"); |
| | | response.getWriter().write("请登录"); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |