lidongdong
2022-10-08 53e9765219ea5e885393dc9c02ee0c46cc42ae08
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
@@ -31,7 +31,6 @@
    @Autowired
    private TokenManager manager;
    @Autowired
    com.dg.core.service.ISysUserService IUserService;
@@ -48,23 +47,59 @@
        //从header中得到token
        String token = request.getHeader(Constant.AUTHORIZATION);
        if (manager.checkToken(token)) {
            //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
            request.setAttribute(Constant.CURRENT_USER_ID, manager.getUserId(token));
            SysUser ss = IUserService.selectData(manager.getUserId(token)+"");
        //花城token
        String HCtoken = request.getHeader(Constant.HCAUTHORIZATION);
            return true;
        if(StringUtils.isEmpty(token))
        {
//            if(StringUtils.isEmpty(HCtoken))
//            {
//                String reponse = "{\"result\": 448, \"message\": \"token not is null \"}";
//                response.setStatus(200);
//                response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
//                ResponseFacade facade = (ResponseFacade) response;
//                facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
//                facade.getWriter().write(reponse);
//                return false;
//            }
//            else
//            {
//
//            }
            //花城e+   token
            if (manager.checkHCToken(HCtoken)) {
                //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
                request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
//            SysUser ss = IUserService.selectData(manager.getHCUserId(HCtoken)+"");
                return true;
            }
        }
        else
        {
            if (manager.checkToken(token)) {
                //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
                request.setAttribute(Constant.CURRENT_USER_ID, manager.getUserId(token));
//            SysUser ss = IUserService.selectData(manager.getUserId(token)+"");
                return true;
            }
        }
        //如果验证token失败,并且方法或类注明了Authorization,返回401错误
        if (method.getAnnotation(Authorization.class) != null || bean.getClass().getAnnotation(Authorization.class) != null) {
            String reponse = "{\"result\": 449, \"message\": \"Overdue token\"}";
            response.setStatus(200);
            response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
            ResponseFacade facade = (ResponseFacade) response;
            facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
            facade.getWriter().write(reponse);
            return false;
        if(!StringUtils.isEmpty(token))
        {
            //如果验证token失败,并且方法或类注明了Authorization,返回401错误
            if (method.getAnnotation(Authorization.class) != null ||
                    bean.getClass().getAnnotation(Authorization.class) != null)
            {
                String reponse = "{\"result\": 449, \"message\": \"Overdue token\"}";
                response.setStatus(200);
                response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
                ResponseFacade facade = (ResponseFacade) response;
                facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
                facade.getWriter().write(reponse);
                return false;
            }
        }
        return true;
    }