1. 程式人生 > >sprig boot 攔截器失效 WebMvcConfigurerAdapter

sprig boot 攔截器失效 WebMvcConfigurerAdapter

這個是參考的文章
https://blog.csdn.net/qq_27828675/article/details/80923678
然後第七步的攔截器不知道為什麼沒辦法攔截。
這是後面解決問題的文章
https://www.cnblogs.com/deng720/p/8989388.html

我的程式碼

@EnableWebMvc
@Configuration
public class MyWebAppConfigurer implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //排除攔截
        List<String> exc = new ArrayList<>();
        //登陸
        exc.add("/login");
        //註冊
        exc.add("/user/save");

        // addPathPatterns 用於新增攔截規則
        // excludePathPatterns 使用者排除攔截
        registry.addInterceptor(authenticationInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns(exc);
    }

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        argumentResolvers.add(currentUserMethodArgumentResolver());
    }

    @Bean
    public CurrentUserMethodArgumentResolver currentUserMethodArgumentResolver() {
        return new CurrentUserMethodArgumentResolver();
    }

    /**
     * 解決 攔截器中注入bean 失敗情況出現
     * addArgumentResolvers方法中 新增
     *  argumentResolvers.add(currentUserMethodArgumentResolver());
     */
    @Bean
    public AuthenticationInterceptor authenticationInterceptor() {
        return new AuthenticationInterceptor();
    }
}