image
403错误都是资源权限的问题,从上述图看到/v3/**所有请求都Ok,所有的get请求也都ok,而不带v3的post请求报出403错误
在SpringBoot+springSecurity+Thymeleaf中
springSecurity设置拦截规则,他将会对所有http请求以及所有静态资源进行拦截,但是很多时候一些静态资源以及http请求我们并不希望他进行拦截,这时候可以在webSecurityConfig文件中进行和配置:
1.WebSecurity(.ignoring)。
2.HttpSecurity(permitAll)这两种方法中的方法都是用来放过资源的,如图:
这两种方法有非常大的不同
image
image
spring security中定义了很多的拦截器,其中有登录的还有匿名的,会拦截掉所有请求,以及资源,登录的话会走登录的拦截器,如果不登录的话就会走匿名的拦截器。但是结果发现使用permitAll方法放过请求即使登陆了,Get请求能ok,但是POST请求还是不能发出去造成了ajax请求POST失败403.这是为什么呢???
这是因为开启CSRF跨站防护,(springSecurity在2.0之后就会默认自动开启)。一旦开启了CSRF,所有经过springsecurity的http请求以及资源都被会CsrfFilt