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过滤内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
idea使用easyCode生成代码(根据mybatis-plus模板创建自己的模板)
本文主要介绍了idea使用easyCode生成代码,easyCode代码生成器可以减少低价值搬砖,具有一定的参考价值,感兴趣的可以了解一下2023-10-10
浅析Java中Apache BeanUtils和Spring BeanUtils的用法
这篇文章主要介绍了Java中Apache BeanUtils和Spring BeanUtils的用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11
Springboot 整合 RabbitMQ 消息队列 详情
这篇文章主要介绍了Springboot整合RabbitMQ 消息队列详情,文章为荣啊主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-08-08
springcloud如何使用Feign后台内部传递MultipartFile
这篇文章主要介绍了springcloud如何使用Feign后台内部传递MultipartFile,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03


最新评论