欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springsecurity記住我登錄時訪問無權(quán)限接口跳轉(zhuǎn)登錄界面的處理方案

 更新時間:2024年02月19日 10:53:55   作者:星夢客  
這篇文章主要介紹了springsecurity記住我登錄時訪問無權(quán)限接口跳轉(zhuǎn)登錄界面的處理方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

貼一下springsecurity無權(quán)限時異常處理的邏輯

  • 未登錄狀態(tài):如果用戶嘗試訪問需要認證的資源但未登錄,即未經(jīng)過認證,在這種情況下應該跳轉(zhuǎn)到登錄頁面或者返回登錄提示,讓用戶進行身份驗證。通過調(diào)用 AuthenticationEntryPoint 可以統(tǒng)一處理未登錄狀態(tài)下的跳轉(zhuǎn)邏輯,確保用戶體驗一致性。
  • 記住我狀態(tài):用戶可能選擇了“記住我”功能,在記住我狀態(tài)下,用戶的會話仍然有效,但并沒有進行實際的身份驗證。如果用戶在記住我狀態(tài)下訪問需要認證的資源,也應該跳轉(zhuǎn)到登錄頁面進行實際的身份驗證,而不是直接拒絕訪問。通過調(diào)用 AuthenticationEntryPoint 可以統(tǒng)一處理記住我狀態(tài)下的跳轉(zhuǎn)邏輯,提高系統(tǒng)的安全性和用戶體驗。

這就是springsecurity對于記住我的處理邏輯,我想要通過記住我登錄的時候,訪問無權(quán)限接口依然調(diào)用AccessDeniedHandler拋出無權(quán)限,下面是我的處理方案。

1.在自定義AuthenticationEntryPoint 指出authException instanceof InsufficientAuthenticationException異常返回無權(quán)限。

@Component
@Slf4j
public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint {
    @Autowired
    ObjectMapper objectMapper;
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response,
                         AuthenticationException authException) throws IOException {
        response.setContentType("text/html;charset=UTF-8");
        log.warn("", authException);
        if (authException instanceof InsufficientAuthenticationException) {
            response.getWriter().write(objectMapper.writeValueAsString(R.error().code(HttpStatus.FORBIDDEN.value()).message("無權(quán)限!")));
        }else {
            response.getWriter().write(objectMapper.writeValueAsString(R.error().code(HttpStatus.UNAUTHORIZED.value()).message("未登錄!")));
        }
    }
}

2.在配置類里定義http.anonymous().disable()//禁止匿名用戶,防止未通過身份認證的用戶進行鑒權(quán),從而拋出InsufficientAuthenticationException。

到此這篇關(guān)于springsecurity記住我登錄時訪問無權(quán)限接口,跳轉(zhuǎn)登錄界面的文章就介紹到這了,更多相關(guān)springsecurity跳轉(zhuǎn)登錄界面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring內(nèi)存緩存Caffeine的基本使用教程分享

    Spring內(nèi)存緩存Caffeine的基本使用教程分享

    Caffeine作為當下本地緩存的王者被大量的應用再實際的項目中,可以有效的提高服務吞吐率、qps,降低rt,本文就來簡單介紹下Caffeine的使用姿勢吧
    2023-03-03
  • java?IP歸屬地功能實現(xiàn)詳解

    java?IP歸屬地功能實現(xiàn)詳解

    前一陣子抖音和微博開始陸續(xù)上了IP歸屬地的功能,引起了眾多熱議,有大批在國外的老鐵們開始"原形畢露",被定位到國內(nèi)來,那么IP歸屬到底是怎么實現(xiàn)的呢?那么網(wǎng)紅們的歸屬地到底對不對呢
    2022-07-07
  • Java中的ThreadLocal線程變量詳解

    Java中的ThreadLocal線程變量詳解

    這篇文章主要介紹了Java中的ThreadLocal線程變量詳解,ThreadLocal叫做線程變量,意思是在ThreadLocal中填充的變量屬于當前線程,該變量對其他線程而言是隔離的,它是用來提供線程內(nèi)部的局部變量,需要的朋友可以參考下
    2024-01-01
  • java自動生成ID號的方法

    java自動生成ID號的方法

    這篇文章主要介紹了java自動生成ID號的方法,涉及java生成ID號的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • java從mysql導出數(shù)據(jù)的具體實例

    java從mysql導出數(shù)據(jù)的具體實例

    這篇文章主要介紹了java從mysql導出數(shù)據(jù)的具體實例,有需要的朋友可以參考一下
    2013-12-12
  • 詳解Java設(shè)計模式之備忘錄模式的使用

    詳解Java設(shè)計模式之備忘錄模式的使用

    這篇文章主要介紹了Java設(shè)計模式之備忘錄模式的使用,備忘錄模式中的發(fā)起者和管需要的朋友可以參考下
    2016-02-02
  • Java線程中start和run方法全面解析

    Java線程中start和run方法全面解析

    這篇文章主要介紹了Java線程中start和run方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • SpringBoot實現(xiàn)自動配置的示例代碼

    SpringBoot實現(xiàn)自動配置的示例代碼

    本文主要介紹了SpringBoot實現(xiàn)自動配置的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • Freemarker如何生成樹形導航菜單(遞歸)

    Freemarker如何生成樹形導航菜單(遞歸)

    這篇文章主要為大家詳細介紹了Freemarker采用的的方法生成樹形導航菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Java數(shù)據(jù)結(jié)構(gòu)之隊列(動力節(jié)點Java學院整理)

    Java數(shù)據(jù)結(jié)構(gòu)之隊列(動力節(jié)點Java學院整理)

    隊列(Queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。 這篇文章詳細給大家介紹了java數(shù)據(jù)結(jié)構(gòu)之隊列,感興趣的朋友跟隨小編一起學習吧
    2017-04-04

最新評論