Skip to content

Commit 6307bdd

Browse files
feat: enhance SecurityFilter with detailed logging for token validation and user authentication
1 parent 46dab0d commit 6307bdd

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/main/java/com/otavio/aifoodapp/security/SecurityFilter.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66
import jakarta.servlet.ServletException;
77
import jakarta.servlet.http.HttpServletRequest;
88
import jakarta.servlet.http.HttpServletResponse;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
911
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
1012
import org.springframework.security.core.context.SecurityContextHolder;
11-
import org.springframework.security.core.userdetails.UserDetails;
1213
import org.springframework.stereotype.Component;
1314
import org.springframework.web.filter.OncePerRequestFilter;
1415

1516
import java.io.IOException;
1617

1718

1819
@Component
19-
2020
public 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

Comments
 (0)