将之前写死的Id改为当前登录用户id,使用ThreadLocal

This commit is contained in:
Bunny 2024-01-05 15:18:26 +08:00
parent 4afb69f034
commit 3a1faa5ac2
2 changed files with 15 additions and 10 deletions

View File

@ -1,6 +1,7 @@
package com.sky.interceptor; package com.sky.interceptor;
import com.sky.constant.JwtClaimsConstant; import com.sky.constant.JwtClaimsConstant;
import com.sky.context.BaseContext;
import com.sky.properties.JwtProperties; import com.sky.properties.JwtProperties;
import com.sky.utils.JwtUtil; import com.sky.utils.JwtUtil;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
@ -9,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -19,17 +22,17 @@ import javax.servlet.http.HttpServletResponse;
@Slf4j @Slf4j
public class JwtTokenAdminInterceptor implements HandlerInterceptor { public class JwtTokenAdminInterceptor implements HandlerInterceptor {
@Autowired @Resource
private JwtProperties jwtProperties; private JwtProperties jwtProperties;
/** /**
* 校验jwt * 校验jwt
* *
* @param request * @param request HttpServletRequest
* @param response * @param response HttpServletResponse
* @param handler * @param handler Object
* @return * @return boolean
* @throws Exception * @throws Exception Exception
*/ */
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//判断当前拦截到的是Controller的方法还是其他资源 //判断当前拦截到的是Controller的方法还是其他资源
@ -46,7 +49,8 @@ public class JwtTokenAdminInterceptor implements HandlerInterceptor {
log.info("jwt校验:{}", token); log.info("jwt校验:{}", token);
Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token); Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token);
Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString()); Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString());
log.info("当前员工id", empId); log.info("当前员工id{}", empId);
BaseContext.setCurrentId(empId);
//3通过放行 //3通过放行
return true; return true;
} catch (Exception ex) { } catch (Exception ex) {

View File

@ -3,6 +3,7 @@ package com.sky.service.impl;
import com.sky.constant.MessageConstant; import com.sky.constant.MessageConstant;
import com.sky.constant.PasswordConstant; import com.sky.constant.PasswordConstant;
import com.sky.constant.StatusConstant; import com.sky.constant.StatusConstant;
import com.sky.context.BaseContext;
import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO; import com.sky.dto.EmployeeLoginDTO;
import com.sky.entity.Employee; import com.sky.entity.Employee;
@ -83,10 +84,10 @@ public class EmployeeServiceImpl implements EmployeeService {
employee.setUpdateTime(LocalDateTime.now()); employee.setUpdateTime(LocalDateTime.now());
// 设置当前记录创建人id // 设置当前记录创建人id
// TODO 当前是写死的后期改为当前登录用户id employee.setCreateUser(BaseContext.getCurrentId());
employee.setCreateUser(10L); employee.setUpdateUser(BaseContext.getCurrentId());
employee.setUpdateUser(10L);
employeeMapper.insert(employee); employeeMapper.insert(employee);
BaseContext.removeCurrentId();
} }
} }