1. 程式人生 > 實用技巧 >spring security之自定義許可權不足頁面

spring security之自定義許可權不足頁面

前幾天想著差不多也該學一套安全框架了,技術菜歸菜,但好歹也得完善一下自己的知識體系不是?於是,在網上找了一套shiro教程,結果看了前幾章之後已經覺得整個人都不好了。

講解基本應用的部分倒是學得還算順利,一到涉及到一些原始碼、重寫某個方法、自定義某某某的時候,尤其是當作者羅列出一排陌生的類名時,我簡直頭大。

算了算了,還是買本書或者實在不行找一套視訊慢慢啃吧,在此之前,閒不住的我果斷先找了一套開源專案決定藉此提升一下自己,結果發現人家居然用到了spring security、spring data jpa這些技術。

為了能啃動這套開源專案,同時也為了能快點開始下口,萬般無奈之下,只好將這些技術逐一簡單學習一波,今天恰好學到spring security自定義403介面,結果就是找不到我配置的路徑,主要原因是我對於單體應用這一塊也不是很熟,之前大部分時間都是學習分散式專案,這回突然拿了幾個陌生的技術整合在一起,著實有些雲裡霧裡。先把類貼出來:

@Configuration
public class SprErrorPage implements ErrorPageRegistrar {
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        registry.addErrorPages(new ErrorPage(HttpStatus.FORBIDDEN, "/test/403"));
    }
}

起初我天真地以為配置好的路徑一定會去thymeleaf設定的根目錄下找,或者從我的static目錄下找,經過幾次嘗試發現這些想法均不成立。靈光一現,那有沒有可能是訪問我的controller呢?

果不其然,當403出現後,程式果然執行到了相應的controller層方法中,所以只需在該處返回自定義403介面的路徑即可。

@GetMapping("/403")
    public String show403() {
        return "/error/403";
    }

名字什麼的,都是亂起的... ...