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: 未認證, 未授權(quán)訪問處理器
* @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));
}
}然后跟著一步步調(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)文章
IDEA2024下安裝kubernetes插件配置進行使用的方法
IDEA中默認已安裝Kubernetes插件,若未發(fā)現(xiàn),可在市場下載,安裝后,需準備config文件和kubectl.exe,進行路徑配置,可在Workloads-prod下查看和下載目標容器日志,本文介紹IDEA2024下安裝kubernetes插件并配置進行使用,感興趣的朋友一起看看吧2024-11-11
SpringMVC+MyBatis實現(xiàn)多數(shù)據(jù)源切換
在企業(yè)級應用開發(fā)中,經(jīng)常需要處理來自不同數(shù)據(jù)庫的數(shù)據(jù),為了滿足這一需求,我們可以通過配置多個數(shù)據(jù)源來實現(xiàn)對不同數(shù)據(jù)庫的訪問,下面我們來看看具體實現(xiàn)吧2025-01-01
SpringBoot打包成Docker鏡像的幾種實現(xiàn)方式
Spring Boot是一個用于構(gòu)建獨立的、可執(zhí)行的Spring應用程序的框架,結(jié)合使用Spring Boot和Docker,可以方便地將應用程序部署到不同的環(huán)境中本文,主要介紹了SpringBoot打包成Docker鏡像的幾種實現(xiàn)方式,感興趣的可以了解一下2024-01-01
java使用Socket實現(xiàn)SMTP協(xié)議發(fā)送郵件
這篇文章主要為大家詳細介紹了java使用Socket實現(xiàn)SMTP協(xié)議發(fā)送郵件的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-05-05
java圖形化界面實現(xiàn)簡單混合運算計算器的示例代碼
這篇文章主要介紹了java圖形化界面實現(xiàn)簡單混合運算計算器的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Java使用自定義注解實現(xiàn)為事件源綁定事件監(jiān)聽器操作示例
這篇文章主要介紹了Java使用自定義注解實現(xiàn)為事件源綁定事件監(jiān)聽器操作,結(jié)合實例形式分析了java自定義注解、注解處理、事件監(jiān)聽與響應等相關(guān)操作技巧,需要的朋友可以參考下2019-10-10
詳解AngularJs與SpringMVC簡單結(jié)合使用
本篇文章主要介紹了AngularJs與SpringMVC簡單結(jié)合使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06

