SpringSecurity request過濾問題示例小結(jié)
在進行請求時發(fā)現(xiàn)問題,security配置中添加了可免授權(quán)訪問資源請求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中把這個請求路徑給免授權(quán)了,結(jié)果訪問的時候就被未授權(quán)處理器拋出了未授權(quán)的信息,看的我一頭霧水.
/**
* @author Vermouth
* @ClassName: 未認(rèn)證, 未授權(quán)訪問處理器
* @Description: 當(dāng)用戶未通過認(rèn)證訪問受保護的資源時處理
* @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));
}
}然后跟著一步步調(diào)試,發(fā)現(xiàn)在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來添加映射,不知道有沒有更加好用的方式。
到此這篇關(guān)于SpringSecurity request過濾問題示例小結(jié)的文章就介紹到這了,更多相關(guān)SpringSecurity request過濾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java向數(shù)據(jù)庫中插入數(shù)據(jù)后獲取自增ID的常用方法
有時候因為新增的需求需要獲取剛剛新增的數(shù)據(jù)的自增的主鍵ID,下面這篇文章主要給大家介紹了關(guān)于Java向數(shù)據(jù)庫中插入數(shù)據(jù)后獲取自增ID的常用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
Spring Cloud Eureka服務(wù)治理的實現(xiàn)
服務(wù)治理是微服務(wù)框架中最為核心和基礎(chǔ)的模塊,它主要是用來實現(xiàn)各個微服務(wù)實例的自動化注冊與發(fā)現(xiàn)。這篇文章主要介紹了Spring Cloud Eureka服務(wù)治理的實現(xiàn),感興趣的小伙伴們可以參考一下2018-06-06
淺析SpringBoot多數(shù)據(jù)源實現(xiàn)方案
現(xiàn)在很多項目的開發(fā)過程中,可能涉及到多個數(shù)據(jù)源,像讀寫分離的場景,或者因為業(yè)務(wù)復(fù)雜,導(dǎo)致不同的業(yè)務(wù)部署在不同的數(shù)據(jù)庫上,那么這樣的場景,我們應(yīng)該如何在代碼中簡潔方便的切換數(shù)據(jù)源呢,本文介紹SpringBoot多數(shù)據(jù)源實現(xiàn)方案,感興趣的朋友跟隨小編一起看看吧2024-02-02
idea使用easyCode生成代碼(根據(jù)mybatis-plus模板創(chuàng)建自己的模板)
本文主要介紹了idea使用easyCode生成代碼,easyCode代碼生成器可以減少低價值搬磚,具有一定的參考價值,感興趣的可以了解一下2023-10-10
淺析Java中Apache BeanUtils和Spring BeanUtils的用法
這篇文章主要介紹了Java中Apache BeanUtils和Spring BeanUtils的用法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
SpringBoot利用jpa連接MySQL數(shù)據(jù)庫的方法
這篇文章主要介紹了SpringBoot利用jpa連接MySQL數(shù)據(jù)庫的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
Springboot?整合?RabbitMQ?消息隊列?詳情
這篇文章主要介紹了Springboot整合RabbitMQ?消息隊列詳情,文章為榮啊主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08
springcloud如何使用Feign后臺內(nèi)部傳遞MultipartFile
這篇文章主要介紹了springcloud如何使用Feign后臺內(nèi)部傳遞MultipartFile,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

