springsecurity5.7 添加自定义的 HandlerInterceptor
时间: 2023-09-04 18:13:22 浏览: 89
在Spring Security 5.7中,可以使用以下方式添加自定义的HandlerInterceptor:
1. 创建一个实现HandlerInterceptor接口的拦截器类,例如:
```java
public class CustomInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 在处理请求之前执行的代码
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 在处理请求之后执行的代码
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 在请求完成后执行的代码
}
}
```
2. 在SecurityConfig类中重写`addInterceptors`方法并添加自定义的拦截器,例如:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
// ...
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new CustomInterceptor());
}
// ...
}
```
这样就可以在Spring Security中添加自定义的HandlerInterceptor了。需要注意的是,自定义的HandlerInterceptor只会拦截与Spring Security相关的请求,与Spring Security无关的请求不会被拦截。
阅读全文