localhost无法访问并显示无权限

doMore 1,348 2020-02-18

最近在开发中,springboot搭建的web项目突然就访问不了controller,在自己本地测试显示localhost无法访问,没有权限。

问题所在:经过一番查找发现,原来是同事在基础的项目中添加了一个 HandlerInterceptor,该类主要作用是验证请求头(相当于一个授权安全验证),不通过返回的是 HttpStatus.FORBIDDEN(403,也就是禁止访问)。导致我上层项目正常启动,请求的地址也能在日志中打出来,但就是没办法访问方法。


解决办法:在上层项目将相关的东西排除掉。

// 排除办法
@ComponentScan(basePackages = {"***"}, excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,
		value = {Interceptor.class, WebConfig.class})})
public class TestApplication{

	public static void main(String[] args) {
		SpringApplication.run(TestApplication.class, args);
	}

}

type值:
org.springframework.context.annotation.FilterType

过滤器类型描述
annotation过滤器扫描使用注解所标注的那些类
ASSIGNABLE_TYPE过滤器扫描派生于class属性所指定类型的那些类
aspectj过滤器扫描AspectJ表达式所匹配的那些类
custom使用自定义的org.springframework.core.type.TypeFliter实现类
regex指定正则表示式所匹配的那些类