From 3f2d9bb3cfd67d61c965c7c5345c40d3e4271a09 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 23 八月 2024 14:33:17 +0800 Subject: [PATCH] 合并代码 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java | 236 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 118 insertions(+), 118 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java index 2ef3e20..6f3ca9e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java @@ -1,118 +1,118 @@ -package com.ruoyi.chargingPile.filter; - -import com.alibaba.fastjson.JSON; -import com.ruoyi.account.api.feignClient.AppUserClient; -import com.ruoyi.account.api.model.TAppUser; -import com.ruoyi.common.core.constant.TokenConstants; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.JwtUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.feignClient.SysUserClient; -import io.jsonwebtoken.Claims; -import org.apache.logging.log4j.core.config.Order; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.annotation.Lazy; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; - -/** - * @author zhibing.pu - * @Date 2024/8/23 11:22 - */ -@Order(-200) -@Component -public class AuthFilter implements Filter { - private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); - - @Lazy - @Resource - private AppUserClient appUserClient; - - @Lazy - @Resource - private SysUserClient sysUserClient; - - - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) servletRequest; - HttpServletResponse response = (HttpServletResponse) servletResponse; - String token = getToken(request); - Claims claims = JwtUtils.parseToken(token); - String userid = JwtUtils.getUserId(claims); - String userType = JwtUtils.getUserType(claims); - //管理后台用户 - if ("system".equals(userType)) { - SysUser sysUser = sysUserClient.getSysUser(Long.valueOf(userid)).getData(); - if(null == sysUser || "2".equals(sysUser.getDelFlag())){ - log.error("[账户异常处理]请求账户id:{}", userid); - unauthorizedResponse(response,"无效的账户"); - return; - } - if("1".equals(sysUser.getStatus())){ - log.error("[账户异常处理]请求账户id:{}", userid); - unauthorizedResponse(response,"账户已被停用,请联系系统管理员!"); - return; - } - } - //小程序用户 - if ("applet".equals(userType)) { - TAppUser appUser = appUserClient.getUserById(Long.valueOf(userid)).getData(); - if(null == appUser || appUser.getDelFlag() || 3 == appUser.getStatus()){ - log.error("[账户异常处理]请求账户id:{}", userid); - unauthorizedResponse(response,"无效的账户"); - return; - } - if(2 == appUser.getStatus()){ - log.error("[账户异常处理]请求账户id:{}", userid); - unauthorizedResponse(response,"账户已被冻结,请联系系统管理员!"); - return; - } - } - filterChain.doFilter(request, response); - } - - - - private void unauthorizedResponse(HttpServletResponse response, String msg) { - response.setStatus(HttpStatus.OK.value()); - response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_UTF8_VALUE); - PrintWriter writer = null; - try { - writer = response.getWriter(); - } catch (IOException e) { - throw new RuntimeException(e); - } - writer.println(JSON.toJSONString(R.fail(msg))); - writer.flush(); - writer.close(); - } - - - - /** - * 获取请求token - */ - private String getToken(HttpServletRequest request) { - String token = request.getHeader(TokenConstants.AUTHENTICATION); - // 如果前端设置了令牌前缀,则裁剪掉前缀 - if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { - token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); - } - return token; - } - - -} +//package com.ruoyi.chargingPile.filter; +// +//import com.alibaba.fastjson.JSON; +//import com.ruoyi.account.api.feignClient.AppUserClient; +//import com.ruoyi.account.api.model.TAppUser; +//import com.ruoyi.common.core.constant.TokenConstants; +//import com.ruoyi.common.core.domain.R; +//import com.ruoyi.common.core.utils.JwtUtils; +//import com.ruoyi.common.core.utils.StringUtils; +//import com.ruoyi.system.api.domain.SysUser; +//import com.ruoyi.system.api.feignClient.SysUserClient; +//import io.jsonwebtoken.Claims; +//import org.apache.logging.log4j.core.config.Order; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.context.annotation.Lazy; +//import org.springframework.http.HttpHeaders; +//import org.springframework.http.HttpStatus; +//import org.springframework.http.MediaType; +//import org.springframework.stereotype.Component; +// +//import javax.annotation.Resource; +//import javax.servlet.*; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.io.PrintWriter; +//import java.io.UnsupportedEncodingException; +// +///** +// * @author zhibing.pu +// * @Date 2024/8/23 11:22 +// */ +//@Order(-200) +//@Component +//public class AuthFilter implements Filter { +// private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); +// +// @Lazy +// @Resource +// private AppUserClient appUserClient; +// +// @Lazy +// @Resource +// private SysUserClient sysUserClient; +// +// +// @Override +// public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { +// HttpServletRequest request = (HttpServletRequest) servletRequest; +// HttpServletResponse response = (HttpServletResponse) servletResponse; +// String token = getToken(request); +// Claims claims = JwtUtils.parseToken(token); +// String userid = JwtUtils.getUserId(claims); +// String userType = JwtUtils.getUserType(claims); +// //管理后台用户 +// if ("system".equals(userType)) { +// SysUser sysUser = sysUserClient.getSysUser(Long.valueOf(userid)).getData(); +// if(null == sysUser || "2".equals(sysUser.getDelFlag())){ +// log.error("[账户异常处理]请求账户id:{}", userid); +// unauthorizedResponse(response,"无效的账户"); +// return; +// } +// if("1".equals(sysUser.getStatus())){ +// log.error("[账户异常处理]请求账户id:{}", userid); +// unauthorizedResponse(response,"账户已被停用,请联系系统管理员!"); +// return; +// } +// } +// //小程序用户 +// if ("applet".equals(userType)) { +// TAppUser appUser = appUserClient.getUserById(Long.valueOf(userid)).getData(); +// if(null == appUser || appUser.getDelFlag() || 3 == appUser.getStatus()){ +// log.error("[账户异常处理]请求账户id:{}", userid); +// unauthorizedResponse(response,"无效的账户"); +// return; +// } +// if(2 == appUser.getStatus()){ +// log.error("[账户异常处理]请求账户id:{}", userid); +// unauthorizedResponse(response,"账户已被冻结,请联系系统管理员!"); +// return; +// } +// } +// filterChain.doFilter(request, response); +// } +// +// +// +// private void unauthorizedResponse(HttpServletResponse response, String msg) { +// response.setStatus(HttpStatus.OK.value()); +// response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_UTF8_VALUE); +// PrintWriter writer = null; +// try { +// writer = response.getWriter(); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } +// writer.println(JSON.toJSONString(R.fail(msg))); +// writer.flush(); +// writer.close(); +// } +// +// +// +// /** +// * 获取请求token +// */ +// private String getToken(HttpServletRequest request) { +// String token = request.getHeader(TokenConstants.AUTHENTICATION); +// // 如果前端设置了令牌前缀,则裁剪掉前缀 +// if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { +// token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); +// } +// return token; +// } +// +// +//} -- Gitblit v1.7.1