springboot整合springsecurity框架,将自定义的过滤器配置到我们的项目里面,并且启动项目,测试功能(分布式项目)(七)

本文档介绍了如何将重写的Spring Security过滤器配置到项目中,以实现无状态的分布式项目身份验证。首先,通过在`HttpSecurity`配置中添加自定义的`JwtLoginFilter`和`JwtVerifyFilter`来禁用CSRF并设置会话策略。然后,通过Postman进行测试,验证登录成功后获取的token是否能用于访问受保护的接口。在未提供token的情况下访问接口会收到403错误,而使用正确的token则能成功访问,证明了token在授权中的作用。

1 问题

之前我们已经重写了springsecurity框架的认证的过滤器,还有验证的过滤器,但是只是写了个过滤器,还没有配置到项目里面,所以不起作用,那么如何将我们重写的过滤器配置到项目里面呢?

2 配置新的过滤器的流程

在这里插入图片描述
在这里插入图片描述
也就是在这个配置里面配置我们自定义的过滤器

    //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);
    }

3 总结

因为是分布式的项目,所以在后端进行验证和认证的时候,我们需要改为和token相关的,所以重写了过滤器,并且配置到了项目里面

4 前端用postman进行测试

1 启动服务端
在这里插入图片描述
2 在postman里面用json格式进行登录

在这里插入图片描述
以上说明登录成功,但是现在我们想要测试这个访问后端的其他的接口,是这个token起到作用了啊,这个咋测试。

5 测试是token起到作用

1 直接访问一个接口

在这里插入图片描述
返回403 禁止访问,这个原因是没有登录,没有权限访问这个接口
在这里插入图片描述
因为用户的登录信息是在请求头里面,所以在登录成功之后,返回的请求头是有token的,那么我们看之前的登录成功之后,看token的信息

在这里插入图片描述
以上我们看见,登录成功之后,这个token值是这些,现在我们直接拿上这个token的值,在访问其他的接口里面放上,看看能不能访问成功

还是访问之前禁止访问的那个接口,只是这次我们加上这个登录成功的token

在这里插入图片描述
看,返回成功了,就是我们在头里面加了登录成功的token,所以以后想要访问其他的接口,只要在访问的路径里面加上登录成功的token就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一写代码就开心

你的打赏将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值