之前我们已经重写了springsecurity框架的认证的过滤器,还有验证的过滤器,但是只是写了个过滤器,还没有配置到项目里面,所以不起作用,那么如何将我们重写的过滤器配置到项目里面呢?
配置新的过滤器的流程
也就是在这个配置里面配置我们自定义的过滤器
//SpringSecurity配置信息
public void configure(HttpSecurity http) throws Exception {
http.csrf()
.disable()
.authorizeRequests()
.antMatchers("/product").hasAnyRole("USER")
.anyRequest()
.authenticated()
.and()
.addFilter(new JwtLoginFilter(super.authenticationManager(), prop))
.addFilter(new JwtVerifyFilter(super.authenticationManager(), prop))
这个就是禁用session
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
总结
因为是分布式的项目,所以在后端进行验证和认证的时候,我们需要改为和token相关的,所以重写了过滤器,并且配置到了项目里面
前端用postman进行测试
1 启动服务端
2 在postman里面用json格式进行登录
以上说明登录成功,但是现在我们想要测试这个访问后端的其他的接口,是这个token起到作用了啊,这个咋测试。
测试是token起到作用
1 直接访问一个接口
返回403 禁止访问,这个原因是没有登录,没有权限访问这个接口
因为用户的登录信息是在请求头里面,所以在登录成功之后,返回的请求头是有token的,那么我们看之前的登录成功之后,看token的信息
以上我们看见,登录成功之后,这个token值是这些,现在我们直接拿上这个token的值,在访问其他的接口里面放上,看看能不能访问成功
还是访问之前禁止访问的那个接口,只是这次我们加上这个登录成功的token
看,返回成功了,就是我们在头里面加了登录成功的token,所以以后想要访问其他的接口,只要在访问的路径里面加上登录成功的token就可以了。