SpringBoot 提示:RequestRejectedException:The request was rejected because the URL was not normalized.

Posted 在奋斗的大道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 提示:RequestRejectedException:The request was rejected because the URL was not normalized.相关的知识,希望对你有一定的参考价值。

今天遇到一个问题:本地磁盘通过SpringMVC 资源映射成URL地址可以访问的资源,提示如下错误信息:

RequestRejectedException:The request was rejected because the URL was not normalized.

错误的大致意思:请求资源的URL地址不规范错误。

造成错误发生的原因

由于我项目集成SpringSecurity 框架,在此框架中存在一个HttpFirewall接口。主要用于:用于拒绝潜在危险请求。

HttpFirewall继承图

 上述错误报错点在:StrictHttpFirewall.isNormalized()方法,主要用于:检查URL是否包含指定特殊字符./", "/../" or "/."

 异常的抛出

解决办法: 

指定HttpFirewall的默认实现为DefaultHttpFirewall

实列代码:

    /**
	 * HTTP 防火墙规则修改:允许URL包含双斜杠
	 * @return
	 */
	@Bean
	public HttpFirewall allowUrlEncodedSlashHttpFirewall() 
		return new DefaultHttpFirewall();  
	

 

以上是关于SpringBoot 提示:RequestRejectedException:The request was rejected because the URL was not normalized.的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot项目启动成功,访问路径提示404

springboot测试提示:PageableHandlerMethodArgumentResolv

SpringBoot启动提示JSR-330 javax.inject.Inject

intellij idea载入java工程报程序包提示不存在,springboot已经导入了依赖依然提示不存在

intellij idea载入java工程报程序包提示不存在,springboot已经导入了依赖依然提示不存在

SpringBoot 集成Redisson 提示:java.lang.ClassNotFoundException: **.redis.connection.ReactiveRedisConnec