1
zj
2024-12-30 665c763cb07deb261cf4fa62c6eb574aec1d816a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.nq.config;
 
import com.nq.common.interceptor.ApiAdminAuthorityInterceptor;
import com.nq.common.interceptor.ApiAgentAuthorityInterceptor;
import com.nq.common.interceptor.ApiUserAuthorityInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
 
    @Autowired
    private RedisTemplate<String,String> redisTemplate;
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        registry.addMapping("/**")
//                .allowedOrigins("*")
//                .allowedMethods("*")
//                .allowCredentials(true)  // 允許帶cookie訪問
//                .allowedHeaders("*")
//                .maxAge(3600);
//                ;
//
//    }
 
 
 
    //註冊攔截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //SpringMVC下,攔截器的註冊需要排除對靜態資源的攔截(*.css,*.js)
        //SpringBoot已經做好了靜態資源的映射,因此我們無需任何操作
        registry.addInterceptor(new ApiAgentAuthorityInterceptor()).addPathPatterns("/agent/**")
                .excludePathPatterns("/index.html", "/", "/user/login","/user/upload.do")
        ;
        registry.addInterceptor(new ApiUserAuthorityInterceptor(redisTemplate)).addPathPatterns("/user/**")
                .excludePathPatterns("/index.html", "/", "/user/login","/user/upload.do")
        ;
        registry.addInterceptor(new ApiAdminAuthorityInterceptor()).addPathPatterns("/admin/**")
                .excludePathPatterns("/index.html", "/", "/user/login","/user/upload.do")
        ;
    }
}