我使用 shiro 實(shí)現(xiàn)了一個(gè)自定義身份驗(yàn)證過(guò)濾器,但想使用基本身份驗(yàn)證作為備份選項(xiàng)。這意味著 - 如果用戶擁有我的自定義過(guò)濾器的正確憑據(jù),他將登錄。如果沒(méi)有,我想檢查用戶是否提供了基本的 authc 標(biāo)頭。這是我的 shiro.ini[main]myAuthc = com.company.security.MyAuthcFiltermyRealm = com.company.security.MyAuthcRealmmyRealm.authenticationTokenClass = com.company.security.MyAuthcTokensecurityManager.realms = $myRealm# user for the basic authc filter[users]testuser = testpass[urls]/web/** = myAuthc, authcBasic問(wèn)題是myAuthc得到評(píng)估,authcBasic而不是!在我的測(cè)試用例中,客戶端僅提供基本身份驗(yàn)證標(biāo)頭,這意味著myAuthc不會(huì)對(duì)用戶進(jìn)行身份驗(yàn)證。我以為,將評(píng)估鏈中的下一個(gè)過(guò)濾器,但這不會(huì)發(fā)生!在測(cè)試場(chǎng)景中,isAccessAllowed()和onAccessDenied()方法都myAuthc返回false。順便說(shuō)一句,當(dāng)我請(qǐng)求時(shí)/web/hello,我實(shí)際上收到了HTTP 200,但是響應(yīng)體是空的 - 沒(méi)有來(lái)自hello資源的信息。是否可以組合這樣的過(guò)濾器?
帶有 shiro 的多個(gè)身份驗(yàn)證過(guò)濾器
翻翻過(guò)去那場(chǎng)雪
2021-06-08 18:47:23