最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

1.在自定義AuthenticationEntryPoint 指出authException instanceof InsufficientAuthenticationException異常返回?zé)o權(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("無(wú)權(quán)限!")));
        }else {
            response.getWriter().write(objectMapper.writeValueAsString(R.error().code(HttpStatus.UNAUTHORIZED.value()).message("未登錄!")));
        }
    }
}

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

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

相關(guān)文章

  • Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解

    Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解

    這篇文章主要介紹了Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • SpringBoot?實(shí)現(xiàn)全局異常處理的示例代碼

    SpringBoot?實(shí)現(xiàn)全局異常處理的示例代碼

    本文主要介紹了SpringBoot實(shí)現(xiàn)全局異常處理,全局異常處理器的使用可以顯著提高Spring Boot項(xiàng)目的代碼質(zhì)量和可維護(hù)性,減少冗余代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • Java算法之最長(zhǎng)公共子序列問(wèn)題(LCS)實(shí)例分析

    Java算法之最長(zhǎng)公共子序列問(wèn)題(LCS)實(shí)例分析

    這篇文章主要介紹了Java算法之最長(zhǎng)公共子序列問(wèn)題(LCS),結(jié)合實(shí)例形式分析了最長(zhǎng)公共子序列的原理及問(wèn)題解決方法,需要的朋友可以參考下
    2017-11-11
  • Mybatis錯(cuò)誤引起的程序啟動(dòng)卡死問(wèn)題及解決

    Mybatis錯(cuò)誤引起的程序啟動(dòng)卡死問(wèn)題及解決

    這篇文章主要介紹了Mybatis錯(cuò)誤引起的程序啟動(dòng)卡死問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java整合微信支付功能詳細(xì)示例

    java整合微信支付功能詳細(xì)示例

    這篇文章主要給大家介紹了關(guān)于java整合微信支付功能的相關(guān)資料,支付是一個(gè)復(fù)雜且測(cè)試起來(lái)需要的配置特別復(fù)雜的模塊,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下
    2023-07-07
  • java運(yùn)行錯(cuò)誤A JNI error的解決方案

    java運(yùn)行錯(cuò)誤A JNI error的解決方案

    這篇文章主要介紹了java運(yùn)行錯(cuò)誤A JNI error的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 淺談SpringBoot自動(dòng)配置的坑

    淺談SpringBoot自動(dòng)配置的坑

    SpringBoot的自動(dòng)配置簡(jiǎn)化了開(kāi)發(fā),但也會(huì)帶來(lái)一些問(wèn)題,本文通過(guò)幾個(gè)實(shí)際案例探討了一些自動(dòng)配置可能帶來(lái)的問(wèn)題,下面就來(lái)詳細(xì)的介紹下
    2026-05-05
  • 聊聊DecimalFormat的用法及各符號(hào)的意義

    聊聊DecimalFormat的用法及各符號(hào)的意義

    這篇文章主要介紹了DecimalFormat的用法及各符號(hào)的意義,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Mac下用Java調(diào)用c/c++的思路詳解

    Mac下用Java調(diào)用c/c++的思路詳解

    這篇文章主要介紹了Mac下用Java調(diào)用c/c++的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Mybatis Flex代碼生成器詳解

    Mybatis Flex代碼生成器詳解

    MybatisFlex是一個(gè)輕量級(jí)、高性能的MyBatis增強(qiáng)框架,支持多種數(shù)據(jù)庫(kù)操作和靈活的SQL生成,文章還介紹了MybatisFlex代碼生成器,可以通過(guò)數(shù)據(jù)庫(kù)表快速生成Entity、Mapper、Service和Controller等代碼
    2025-11-11

最新評(píng)論

莎车县| 博湖县| 响水县| 庆云县| 汾阳市| 嘉禾县| 岢岚县| 德兴市| 东港市| 通山县| 双柏县| 平谷区| 信宜市| 柳河县| 白城市| 肥西县| 忻州市| 越西县| 绥德县| 宜阳县| 融水| 湛江市| 黑龙江省| 北碚区| 益阳市| 安国市| 罗甸县| 衡阳县| 磐石市| 青阳县| 清丰县| 兴宁市| 商水县| 宣恩县| 临沂市| 清原| 乡宁县| 博罗县| 宁阳县| 沁阳市| 神池县|