Unable to proxy interface-implementing method [public final void org.springframework.web.filter.OncePerRequestFilter.doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain) throws jakarta.servlet.ServletException,java.io.IOException] because it is marked as final, consider using interface-based JDK proxies instead.
Unable to proxy interface-implementing method [public final void org.springframework.web.filter.GenericFilterBean.init(jakarta.servlet.FilterConfig) throws jakarta.servlet.ServletException] because it is marked as final, consider using interface-based JDK proxies instead.
@Component
public class JwtRequestFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
}
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Autowired
private JwtRequestFilter jwtRequestFilter;
@Bean
public SecurityFilterChain filterChain(HttpSecurity http)
}
I keep getting the errors above when I start the application. I tried creating constructors and removing the autowired and component annotation, but still the same errors. When I remove the jwtRequestFilter, the application starts. Have you encountered any similar problems? Is there problem with the setup? Or I need to handle some errors?
Remove the @Component
or @Service
annotation from here:
public class JwtRequestFilter extends OncePerRequestFilter {
private final MyUserDetailsService userDetailsService;
private final JwtUtil jwtUtil;
public JwtRequestFilter(MyUserDetailsService userDetailsService, JwtUtil jwtUtil) {
this.userDetailsService = userDetailsService;
this.jwtUtil = jwtUtil;
}
}
In your SecurityConfig
:
@Configuration
@EnableWebSecurity
public class SecurityConfig {
private final MyUserDetailsService myUserDetailsService;
private final JwtUtil jwtUtil;
@Autowired
public SecurityConfig(MyUserDetailsService myUserDetailsService, JwtUtil jwtUtil) {
this.myUserDetailsService = myUserDetailsService;
this.jwtUtil = jwtUtil;
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
JwtRequestFilter jwtRequestFilter = new JwtRequestFilter(myUserDetailsService, jwtUtil);
// ... remaining code ...
}