SpringSecurity request過濾問題示例小結(jié)
在進(jìn)行請(qǐng)求時(shí)發(fā)現(xiàn)問題,security配置中添加了可免授權(quán)訪問資源請(qǐng)求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命名還以為是路徑映射了,請(qǐng)求的就是/user/register,然后在security中把這個(gè)請(qǐng)求路徑給免授權(quán)了,結(jié)果訪問的時(shí)候就被未授權(quán)處理器拋出了未授權(quán)的信息,看的我一頭霧水.
/** * @author Vermouth * @ClassName: 未認(rèn)證, 未授權(quán)訪問處理器 * @Description: 當(dāng)用戶未通過認(rèn)證訪問受保護(hù)的資源時(shí)處理 * @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 處理請(qǐng)求時(shí)并沒找到handler,同時(shí)modeAndView也為null然后進(jìn)入報(bào)錯(cuò),被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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot使用redis進(jìn)行api防刷限流過程詳解
這篇文章主要介紹了Springboot使用redis進(jìn)行api防刷限流過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Spring自動(dòng)掃描無法掃描jar包中bean的解決方法
在日常開發(fā)中往往會(huì)對(duì)公共的模塊打包發(fā)布,然后調(diào)用公共包的內(nèi)容。然而,最近對(duì)公司的公共模塊進(jìn)行整理發(fā)布后。spring卻無法掃描到相應(yīng)的bean,下面這篇文章主要給大家介紹了關(guān)于Spring自動(dòng)掃描時(shí)無法掃描jar包中bean的解決方法,需要的朋友可以參考下。2017-06-06idea中javaweb的jsp頁(yè)面圖片加載不出來問題及解決
這篇文章主要介紹了idea中javaweb的jsp頁(yè)面圖片加載不出來問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07ByteArrayInputStream簡(jiǎn)介和使用_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
ByteArrayInputStream 是字節(jié)數(shù)組輸入流。它繼承于InputStream。這篇文章主要介紹了ByteArrayInputStream簡(jiǎn)介和使用_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下2017-05-05