66import jakarta .servlet .ServletException ;
77import jakarta .servlet .http .HttpServletRequest ;
88import jakarta .servlet .http .HttpServletResponse ;
9+ import org .slf4j .Logger ;
10+ import org .slf4j .LoggerFactory ;
911import org .springframework .security .authentication .UsernamePasswordAuthenticationToken ;
1012import org .springframework .security .core .context .SecurityContextHolder ;
11- import org .springframework .security .core .userdetails .UserDetails ;
1213import org .springframework .stereotype .Component ;
1314import org .springframework .web .filter .OncePerRequestFilter ;
1415
1516import java .io .IOException ;
1617
1718
1819@ Component
19-
2020public class SecurityFilter extends OncePerRequestFilter {
21+ private static final Logger logger = LoggerFactory .getLogger (SecurityFilter .class );
2122 private final TokenService tokenService ;
2223 private final UserRepository userRepository ;
2324
@@ -30,15 +31,24 @@ public SecurityFilter(TokenService tokenService, UserRepository userRepository)
3031 protected void doFilterInternal (HttpServletRequest request , HttpServletResponse response , FilterChain filterChain ) throws ServletException , IOException {
3132 var token = this .recoverToken (request );
3233 if (token != null ) {
34+ logger .trace ("Token found: {}" , token );
3335 var login = tokenService .validateToken (token );
3436 if (login != null && !login .isEmpty ()) {
35- var userExists = userRepository .findByLogin (login );
36- if (userExists != null ) {
37- UserDetails user = userExists ;
37+ logger .trace ("Token validated for login: {}" , login );
38+ var user = userRepository .findByLogin (login );
39+ if (user != null ) {
40+ logger .trace ("User found in database: {}" , user .getUsername ());
3841 var authentication = new UsernamePasswordAuthenticationToken (user , null , user .getAuthorities ());
3942 SecurityContextHolder .getContext ().setAuthentication (authentication );
43+ logger .info ("User '{}' authenticated successfully." , login );
44+ } else {
45+ logger .warn ("User with login '{}' from token not found in database." , login );
4046 }
47+ } else {
48+ logger .warn ("Token validation failed. Token: {}" , token );
4149 }
50+ } else {
51+ logger .trace ("No Authorization token found in request to {}" , request .getRequestURI ());
4252 }
4353 filterChain .doFilter (request , response );
4454 }
@@ -48,4 +58,4 @@ private String recoverToken(HttpServletRequest request) {
4858 if (authHeader == null ) return null ;
4959 return authHeader .replace ("Bearer " , "" );
5060 }
51- }
61+ }
0 commit comments