81,122
社区成员




@Slf4j
@Configuration
public class WebSecurityConfig extends WebMvcConfigurerAdapter {
@Bean
public SecurityInterceptor getSecurityInterceptor() {
return new SecurityInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
InterceptorRegistration addInterceptor = registry.addInterceptor(getSecurityInterceptor());
// 排除配置
addInterceptor.excludePathPatterns("/login.html");
addInterceptor.excludePathPatterns("/register.html");
// 拦截配置
addInterceptor.addPathPatterns("/**");
}
private class SecurityInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getRequestURI();
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
log.info("path: {}", path);
log.info("user: {}", user);
if (path.contains("login") || path.contains("register")) {
return true;
}
if (user != null) {
System.out.println("返回true");
return true;
}
response.sendRedirect("/login.html");
return false;
}
}
}
@Configuration
@EnableWebMvc
public class ValidationConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HandlerInterceptor() {
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle");
System.out.println(request.getRequestURI());
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle");
System.out.println(request.getRequestURI());
return true;
}
});
}
}
将会打印:
preHandle
/test.html
postHandle
/test.html
你是怎么配置的?