fangyuan
2023-01-16 ecad870fe1896c8c3e48506d50bb5818974253bf
ycl-platform/src/main/java/com/ycl/config/Intercept.java
@@ -14,34 +14,38 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
public class Intercept implements HandlerInterceptor {
    @Resource
    NewsAdminService newsAdminService;
    @Resource
    NewsIpService newsIpService;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        List<String> ips = newsIpService.list().stream().map(item->item.getIpAddess()).collect(Collectors.toList());
        if (!ips.contains(request.getRemoteAddr())){
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
        List<String> ips = newsIpService.list().stream().map(item -> item.getIpAddess()).collect(Collectors.toList());
        if (!ips.contains(request.getRemoteAddr())) {
            return false;
        }
        String token = request.getHeader("token");
        System.out.println(token);
        JwtTokenUtil jwtTokenUtil = new JwtTokenUtil();
        AuthInfo authInfo = jwtTokenUtil.parseToken(token);
        if (authInfo == null) {
            throw new ApiException("未认证用户");
        }
        if (newsAdminService.getOne(new LambdaQueryWrapper<NewsAdmin>().eq(NewsAdmin::getUsername, authInfo.getUsername())) == null) {
            throw new ApiException("不是系统用户");
        } else {
//        String token = request.getHeader("token");
//        JwtTokenUtil jwtTokenUtil = new JwtTokenUtil();
//        if (token==null||token.isEmpty()){
//            response.sendRedirect("");
//            return true;
//            throw new ApiException("用户未登录");
//        }
//        AuthInfo authInfo = jwtTokenUtil.parseToken(token);
//        if (authInfo == null) {
//            throw new ApiException("未认证用户");
//        }
//        if (newsAdminService.getOne(new LambdaQueryWrapper<NewsAdmin>().eq(NewsAdmin::getUsername, authInfo.getUsername())) == null) {
//            throw new ApiException("不是系统用户");
//        } else {
            return true;
        }
//        }
    }