setUnauthorizedUrl("/403")不起作用

SpringBoot中集成Shiro的時(shí)候祭椰, 配置setUnauthorizedUrl("/403")了泞歉,但是不起作用摩钙,只會(huì)在控制臺(tái)打印UnauthorizedException異常信息:

原因:
Shiro源碼中是這樣做的:

    private void applyUnauthorizedUrlIfNecessary(Filter filter) {
        String unauthorizedUrl = this.getUnauthorizedUrl();
        if(StringUtils.hasText(unauthorizedUrl) && filter instanceof AuthorizationFilter) {
            AuthorizationFilter authzFilter = (AuthorizationFilter)filter;
            String existingUnauthorizedUrl = authzFilter.getUnauthorizedUrl();
            if(existingUnauthorizedUrl == null) {
                authzFilter.setUnauthorizedUrl(unauthorizedUrl);
            }
        }

    }

只有perms恳蹲,roles,ssl吨艇,rest,port才是屬于AuthorizationFilter腾啥,而anon东涡,authcBasic,authc倘待,user是AuthenticationFilter疮跑,所以u(píng)nauthorizedUrl設(shè)置后不起作用,只會(huì)在控制臺(tái)打印異常信息凸舵。

接下來(lái)祖娘,我們需要做一些配置,自己來(lái)處理UnauthorizedException異常:

1.第一種方式

@Configuration
public class ExceptionConf {

    @Bean
    public SimpleMappingExceptionResolver resolver() {
        SimpleMappingExceptionResolver resolver = new SimpleMappingExceptionResolver();
        Properties properties = new Properties();
        properties.setProperty("org.apache.shiro.authz.UnauthorizedException", "/403");
        resolver.setExceptionMappings(properties);
        return resolver;
    }
}

當(dāng)然啊奄,還有其他的方法可以自己處理渐苏。
比如:

2.用spring mvc的統(tǒng)一異常處理類(lèi)HandlerExceptionResolver

定義一個(gè)類(lèi)繼承HandlerExceptionResolver,然后判斷UnauthorizedException異常即可菇夸。

public class MyExceptionResolver implements HandlerExceptionResolver {

    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        if (e instanceof UnauthorizedException) {
            ModelAndView mv = new ModelAndView("/403");
            return mv;
        }
        return null;
    }
}

然后琼富,在啟動(dòng)類(lèi)中注冊(cè)該bean

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    // 注冊(cè)統(tǒng)一異常處理bean
    @Bean
    public MyExceptionResolver myExceptionResolver() {
        return new MyExceptionResolver();
    }
}

最后幫朋友打個(gè)小廣告

一個(gè)有趣的迷你小程序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市峻仇,隨后出現(xiàn)的幾起案子公黑,更是在濱河造成了極大的恐慌,老刑警劉巖摄咆,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凡蚜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吭从,警方通過(guò)查閱死者的電腦和手機(jī)朝蜘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涩金,“玉大人谱醇,你說(shuō)我怎么就攤上這事暇仲。” “怎么了副渴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵奈附,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我煮剧,道長(zhǎng)斥滤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任勉盅,我火速辦了婚禮佑颇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘草娜。我一直安慰自己挑胸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布宰闰。 她就那樣靜靜地躺著茬贵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪议蟆。 梳的紋絲不亂的頭發(fā)上闷沥,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音咐容,去河邊找鬼舆逃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛戳粒,可吹牛的內(nèi)容都是我干的路狮。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蔚约,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奄妨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起苹祟,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤砸抛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后树枫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體直焙,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年砂轻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奔誓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搔涝,死狀恐怖厨喂,靈堂內(nèi)的尸體忽然破棺而出和措,到底是詐尸還是另有隱情,我是刑警寧澤蜕煌,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布派阱,位于F島的核電站,受9級(jí)特大地震影響斜纪,放射性物質(zhì)發(fā)生泄漏颁褂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一傀广、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彩届,春花似錦伪冰、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至寨辩,卻和暖如春吓懈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靡狞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工耻警, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甸怕。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓甘穿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親梢杭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子温兼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)武契,斷路器募判,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,778評(píng)論 6 342
  • 學(xué)習(xí)任務(wù)目標(biāo) 用戶(hù)必須要登陸之后才能訪問(wèn)定義鏈接,否則跳轉(zhuǎn)到登錄頁(yè)面咒唆。 對(duì)鏈接進(jìn)行權(quán)限控制届垫,只有當(dāng)當(dāng)前登錄用戶(hù)有這...
    z77z閱讀 71,340評(píng)論 39 274
  • 灰濛濛的一天,要下雪的樣子钧排。 呆在室內(nèi)敦腔,暖洋洋的,下午恨溜,杰突然轉(zhuǎn)身問(wèn)我:“姐姐符衔,你知道我們學(xué)校大門(mén)正對(duì)著什么嗎找前?”...
    墨先森閱讀 371評(píng)論 0 0
  • 文/金子18 曖昧躺盛,在陽(yáng)光溫和的日子里,愛(ài)未曾來(lái)形帮。曖昧的人都貪戀著類(lèi)似愛(ài)情的美好槽惫,可又都想把自己安全的保護(hù)起來(lái)。現(xiàn)...
    金子18閱讀 1,358評(píng)論 5 11