@Override public void addInterceptors(InterceptorRegistry registry) { //拦截所有请求,放行swaggerUi和登陆请求 registry.addInterceptor(userAuthorizationInterceptor) .addPathPatterns("/api/**") .excludePathPatterns("/swagger-ui/**", "/api/login","/api/logout/**","/api/registered"); }
时间: 2024-03-04 18:51:53 浏览: 31
这段代码是在Spring Boot中注册拦截器的方法。具体来说,它将一个名为" userAuthorizationInterceptor" 的拦截器添加到拦截器注册表中,并指定它拦截所有以"/api/"开头的请求。同时,它排除了一些请求,包括"/swagger-ui/"和"/api/login","/api/logout/"等,这些请求将不会被该拦截器拦截。这个方法的作用是实现对API请求的授权管理。
相关问题
@Autowired UserAuthorizationInterceptor userAuthorizationInterceptor; /** * 注册拦截器 * * @param registry 拦截器注册工厂 */ @Override public void addInterceptors(InterceptorRegistry registry) { //拦截所有请求,放行swaggerUi和登陆请求 registry.addInterceptor(userAuthorizationInterceptor) .addPathPatterns("/api/**") .excludePathPatterns("/swagger-ui/**", "/api/login","/api/logout/**","/api/registered"); }
这段代码是在 Spring Boot 框架中注册一个拦截器,其中拦截器的实例是 UserAuthorizationInterceptor,拦截所有以 "/api" 开头的请求,但是排除了 "/swagger-ui/**"、"/api/login"、"/api/logout/**" 和 "/api/registered" 这些请求。这样做的目的可能是为了对 API 接口进行权限认证或者其他操作。
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAuthorizationInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/static/**");//放行路径 super.addInterceptors(registry); }这段代码是什么意思
这段代码是在Web应用程序中注册一个拦截器,并将`AuthorizationInterceptor`对象添加到拦截器链中。`addPathPatterns("/**")`表示拦截所有的请求路径,`excludePathPatterns("/static/**")`表示放行以`/static/`开头的请求路径,即不对这些路径进行拦截。
当一个请求到达时,拦截器会先执行`getAuthorizationInterceptor()`方法返回的`AuthorizationInterceptor`对象的`preHandle()`方法,进行权限校验。如果权限校验通过,则继续执行后续逻辑;否则,拦截器会返回错误信息,不再继续执行后续逻辑。
`super.addInterceptors(registry)`表示将拦截器链注册到Spring MVC配置中,以便生效。