SpringSecurity拋出異常但AccessDeniedHandler不生效的解決
復(fù)現(xiàn)
@Bean public SecurityFilterChain securedFilterChain(HttpSecurity http) throws Exception { //... //異常 http.exceptionHandling(except -> { except.authenticationEntryPoint(new SecurityAuthenticationEntryPoint()); except.accessDeniedHandler((request, response, e) -> { //請求未授權(quán)的接口 //創(chuàng)建結(jié)果對象 HashMap result = new HashMap(); result.put("code", -1); result.put("message", "沒有權(quán)限"); //轉(zhuǎn)換成json字符串 String json = JSON.toJSONString(result); //返回響應(yīng) response.setContentType("application/json;charset=UTF-8"); response.getWriter().println(json); }); //... });
還是拋出異常
org.springframework.security.access.AccessDeniedException: Access Denied
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:256) ~[spring-security-core-6.2.1.jar:6.2.1]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invo
原因
@RestControllerAdvice
全局異常攔截到了直接返回,注釋掉
或者采用
import org.springframework.security.access.AccessDeniedException //... @ExceptionHandler(AccessDeniedException.class) public void accessDeniedException(AccessDeniedException e) throws AccessDeniedException { throw e; } //...
到此這篇關(guān)于SpringSecurity拋出異常但AccessDeniedHandler不生效的解決的文章就介紹到這了,更多相關(guān)SpringSecurity AccessDeniedHandler不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot Actuator未授權(quán)訪問漏洞解決方案
工作的時候遇到過提示Spring Boot后端存在Actuator未授權(quán)訪問漏洞,網(wǎng)上有很多詳細(xì)的解釋文章,在這里做一個簡單的總結(jié)、介紹和分享,需要的朋友可以參考下2023-09-09使用Mybatis-plus清空表數(shù)據(jù)的操作方法
MyBatis 是一個基于 java 的持久層框架,它內(nèi)部封裝了 jdbc,極大提高了我們的開發(fā)效率,文中給大家介紹了MybatisPlus常用API-增刪改查功能,感興趣的朋友跟隨小編一起看看吧2022-11-11Spring中的@ExceptionHandler異常攔截器
這篇文章主要介紹了Spring中的@ExceptionHandler異常攔截器,Spring的@ExceptionHandler可以用來統(tǒng)一處理方法拋出的異常,給方法加上@ExceptionHandler注解,這個方法就會處理類中其他方法拋出的異常,需要的朋友可以參考下2024-01-01Spring Boot集成Spring Cloud Security進(jìn)行安全增強(qiáng)的方法
Spring Cloud Security是Spring Security的擴(kuò)展,它提供了對Spring Cloud體系中的服務(wù)認(rèn)證和授權(quán)的支持,包括OAuth2、JWT等,這篇文章主要介紹了Spring Boot集成Spring Cloud Security進(jìn)行安全增強(qiáng),需要的朋友可以參考下2024-11-11eclipse里沒有“Dynamic Web Project“這個選項(xiàng)的問題解決
本文主要介紹了eclipse里沒有“Dynamic Web Project“這個選項(xiàng)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08關(guān)于Integer.parseInt()方法的使用
這篇文章主要介紹了關(guān)于Integer.parseInt()方法的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Java?C++算法題解leetcode801使序列遞增的最小交換次數(shù)
這篇文章主要為大家介紹了Java?C++題解leetcode801使序列遞增的最小交換次數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10