package cn.tedu.youbiliprojectbackend.securityConfig; import cn.tedu.youbiliprojectbackend.mapper.UserMapper; import cn.tedu.youbiliprojectbackend.pojo.vo.AccountUserVO; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; @Component public class AuthorizeInterceptor implements HandlerInterceptor { @Autowired UserMapper mapper; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { SecurityContext context = SecurityContextHolder.getContext(); Authentication authentication = context.getAuthentication(); User user = (User)authentication.getPrincipal(); String username = user.getUsername(); AccountUserVO account = mapper.selectUserByuserNameOrEmail(username); request.getSession().setAttribute("account", account); return true; } }