SpringSecurity request过滤问题示例小结

 更新时间:2024年02月23日 15:05:09   作者:VermouthSp  
这篇文章主要介绍了SpringSecurity request过滤问题示例小结,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

在进行请求时发现问题,security配置中添加了可免授权访问资源请求api,但是还是无法访问

@RestController("user")
public class UserController {
    @Autowired
    UserService userService;
    @PostMapping("/register")
    public ResultVO userRegister(@RequestBody @Valid UserFirstRegisterVO userFirstRegisterVO) {
        return userService.userRegister(userFirstRegisterVO);
    }
    @PostMapping("/collect")
    public ResultVO userInfoCollect(@RequestBody @Valid UserSecondRegisterVO userSecondRegisterVO) {
        return userInfoCollect(userSecondRegisterVO);
    }
}

这里写的就有问题,好久没搞,bean命名还以为是路径映射了,请求的就是/user/register,然后在security中把这个请求路径给免授权了,结果访问的时候就被未授权处理器抛出了未授权的信息,看的我一头雾水.

/**
 * @author Vermouth
 * @ClassName: 未认证, 未授权访问处理器
 * @Description: 当用户未通过认证访问受保护的资源时处理
 * @date: 2023-12-11 16:47
 * @version: V1.0
 */
@Component
public class EntryPointUnauthorizedHandler implements AuthenticationEntryPoint {
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
 
        ResponseUtils.result(response, new ResultVO(ResultStatus.RESULT_UNAUTHENTICATED_ACCESS.getRspMsg(), ResultStatus.RESULT_UNAUTHENTICATED_ACCESS.getRspCode(), null));
    }
}

然后跟着一步步调试,发现在DispatcherServlet 处理请求时并没找到handler,同时modeAndView也为null然后进入报错,被SecurityContext中的处理器给捕获然后从这抛出了异常。

更正后代码:

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;
    @PostMapping("/register")
    public ResultVO userRegister(@RequestBody @Valid UserFirstRegisterVO userFirstRegisterVO) {
        return userService.userRegister(userFirstRegisterVO);
    }
    @PostMapping("/collect")
    public ResultVO userInfoCollect(@RequestBody @Valid UserSecondRegisterVO userSecondRegisterVO) {
        return userInfoCollect(userSecondRegisterVO);
    }
}

使用RequestMapping来添加映射,不知道有没有更加好用的方式。

到此这篇关于SpringSecurity request过滤问题示例小结的文章就介绍到这了,更多相关SpringSecurity request过滤内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA2024下安装kubernetes插件配置进行使用的方法

    IDEA2024下安装kubernetes插件配置进行使用的方法

    IDEA中默认已安装Kubernetes插件,若未发现,可在市场下载,安装后,需准备config文件和kubectl.exe,进行路径配置,可在Workloads-prod下查看和下载目标容器日志,本文介绍IDEA2024下安装kubernetes插件并配置进行使用,感兴趣的朋友一起看看吧
    2024-11-11
  • SpringMVC+MyBatis实现多数据源切换

    SpringMVC+MyBatis实现多数据源切换

    在企业级应用开发中,经常需要处理来自不同数据库的数据,为了满足这一需求,我们可以通过配置多个数据源来实现对不同数据库的访问,下面我们来看看具体实现吧
    2025-01-01
  • SpringBoot打包成Docker镜像的几种实现方式

    SpringBoot打包成Docker镜像的几种实现方式

    Spring Boot是一个用于构建独立的、可执行的Spring应用程序的框架,结合使用Spring Boot和Docker,可以方便地将应用程序部署到不同的环境中本文,主要介绍了SpringBoot打包成Docker镜像的几种实现方式,感兴趣的可以了解一下
    2024-01-01
  • java使用Socket实现SMTP协议发送邮件

    java使用Socket实现SMTP协议发送邮件

    这篇文章主要为大家详细介绍了java使用Socket实现SMTP协议发送邮件的相关资料,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Java找出1000以内的所有完数

    Java找出1000以内的所有完数

    一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数
    2017-02-02
  • Struts2拦截器登录验证实例

    Struts2拦截器登录验证实例

    本篇文章主要介绍了Struts2拦截器登录验证实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 全面解析Java中的GC与幽灵引用

    全面解析Java中的GC与幽灵引用

    一般的应用程序不会涉及到 Reference 编程, 但是了解这些知识会对理解 GC 的工作原理以及性能调优有一定帮助,在实现一些基础性设施比如缓存时也可能会用到,希望本文能有所帮助
    2013-09-09
  • java图形化界面实现简单混合运算计算器的示例代码

    java图形化界面实现简单混合运算计算器的示例代码

    这篇文章主要介绍了java图形化界面实现简单混合运算计算器的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java使用自定义注解实现为事件源绑定事件监听器操作示例

    Java使用自定义注解实现为事件源绑定事件监听器操作示例

    这篇文章主要介绍了Java使用自定义注解实现为事件源绑定事件监听器操作,结合实例形式分析了java自定义注解、注解处理、事件监听与响应等相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • 详解AngularJs与SpringMVC简单结合使用

    详解AngularJs与SpringMVC简单结合使用

    本篇文章主要介绍了AngularJs与SpringMVC简单结合使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论