spring security之自定義許可權不足頁面
阿新 • • 發佈:2020-09-12
前幾天想著差不多也該學一套安全框架了,技術菜歸菜,但好歹也得完善一下自己的知識體系不是?於是,在網上找了一套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"; }
名字什麼的,都是亂起的... ...