Example
Adding a Custom Filter for Request Validation
Use Case
Implementation
@Component
public class CustomRequestValidationFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
String securityHeader = request.getHeader("X-SECURITY-HEADER");
if (securityHeader == null || !securityHeader.equals("EXPECTED_VALUE")) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Missing or invalid security header");
return;
}
filterChain.doFilter(request, response);
}
}Implementing JWT Authentication with a Custom Filter
Use Case
Implementation
Using Multiple Authentication Mechanisms (JWT + Username/Password + API Keys)
Use Case
Implementation
Handling Access Control Based on Request Attributes
Use Case
Implementation
Enforcing Custom IP Whitelisting Using a Security Filter
Use Case
Implementation
Implementing CSRF Protection Only for Certain Requests
Use Case
Implementation
Custom Filter for Logging and Rate Limiting
Use Case
Implementation
Rate Limiting with Time Based Expiry
Use Case
Solution 1: ConcurrentHashMap with Expiry
Solution 2: Using Caffeine Cache (Auto-Expiry)
Last updated