0 WebMvcConfigurerAdapter主要功能是在spring-mvc中,针对http请求统一性的@bean式的配置处理
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
// 重写各种关于web统一处理方法和配置bean
}
1 配置拦截器,可以统一处理统一处理权限控制
1.1 配置拦截器
public class SecurityInterceptor extends HandlerInterceptorAdapter {
// 通过返回true,false,是否抛出异常来实现请求的通过和禁止,一般token可以存放在redis中
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String authHeader = request.getHeader("Authorization");
String token = authHeader...
if(token 不正确)return false;
request.setAttribute("userInfo", ....);
return true;
}
}
1.2 WebConfig增加
@Bean
public SecurityInterceptor getSecurityInterceptor() {
return new SecurityInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
//添加拦截器,增加拦截url和排除拦截的url
registry.addInterceptor(getSecurityInterceptor()).addPathPatterns("/**").excludePathPatterns("/*/*.do","/ricky-websocket/**");
super.addInterceptors(registry);
}