diff --git a/src/main/java/ru/soune/nocopy/adminpanel/util/JwtAuthFilter.java b/src/main/java/ru/soune/nocopy/adminpanel/util/JwtAuthFilter.java index 31304a2..5b78e9b 100644 --- a/src/main/java/ru/soune/nocopy/adminpanel/util/JwtAuthFilter.java +++ b/src/main/java/ru/soune/nocopy/adminpanel/util/JwtAuthFilter.java @@ -6,17 +6,22 @@ import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; import ru.soune.nocopy.adminpanel.dto.BaseResponse; import java.io.IOException; +import java.util.List; @Component @RequiredArgsConstructor public class JwtAuthFilter extends OncePerRequestFilter { private final JwtUtil jwtUtil; + private final ObjectMapper objectMapper; @Override @@ -46,6 +51,11 @@ public class JwtAuthFilter extends OncePerRequestFilter { return; } + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(jwtUtil.extractEmail(token), null, + List.of(new SimpleGrantedAuthority("ROLE_ADMIN"))); + SecurityContextHolder.getContext().setAuthentication(authentication); + request.setAttribute("userId", jwtUtil.extractUserId(token)); request.setAttribute("email", jwtUtil.extractEmail(token));