spring如何拦截/druid请求

2023-10-12  本文已影响0人  饱饱想要灵感

问: HandlerInterceptorAdapter能拦截到/druid的请求吗?

答: 首先,要理解HandlerInterceptorAdapter是Spring MVC中的拦截器,用于在请求进入控制器之前和渲染视图之前执行一些自定义的处理逻辑。

/druid是阿里巴巴开源的数据库连接池监控工具,是独立于Spring MVC的,它是基于Servlet的,通过配置一个Servlet来处理/druid的请求。

所以,HandlerInterceptorAdapter拦截器并不能直接拦截/druid的请求。

如果需要拦截/druid的请求并进行一些自定义的处理,可以考虑使用Servlet Filter来实现,通过HttpSecurity配置一个Filter来拦截/druid的请求,并在过滤器中进行相应的处理逻辑。

/** druid过滤器 */
public class DruidFilter implements Filter {
    // Filter的方法实现...添加"/druid"的请求处理
}


@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.addFilterBefore(new DruidFilter(), UsernamePasswordAuthenticationFilter.class)
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .and()
                .httpBasic();
    }
}
上一篇下一篇

猜你喜欢

热点阅读