dev #1

Open
backdev wants to merge 47 commits from dev into main
Showing only changes of commit 0c432b5aa7 - Show all commits
@@ -6,17 +6,22 @@ import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; 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.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.filter.OncePerRequestFilter;
import ru.soune.nocopy.adminpanel.dto.BaseResponse; import ru.soune.nocopy.adminpanel.dto.BaseResponse;
import java.io.IOException; import java.io.IOException;
import java.util.List;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class JwtAuthFilter extends OncePerRequestFilter { public class JwtAuthFilter extends OncePerRequestFilter {
private final JwtUtil jwtUtil; private final JwtUtil jwtUtil;
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
@Override @Override
@@ -46,6 +51,11 @@ public class JwtAuthFilter extends OncePerRequestFilter {
return; 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("userId", jwtUtil.extractUserId(token));
request.setAttribute("email", jwtUtil.extractEmail(token)); request.setAttribute("email", jwtUtil.extractEmail(token));