我使用 shiro 实现了一个自定义身份验证过滤器,但想使用基本身份验证作为备份选项。这意味着 - 如果用户拥有我的自定义过滤器的正确凭据,他将登录。如果没有,我想检查用户是否提供了基本的 authc 标头。这是我的 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问题是myAuthc得到评估,authcBasic而不是!在我的测试用例中,客户端仅提供基本身份验证标头,这意味着myAuthc不会对用户进行身份验证。我以为,将评估链中的下一个过滤器,但这不会发生!在测试场景中,isAccessAllowed()和onAccessDenied()方法都myAuthc返回false。顺便说一句,当我请求时/web/hello,我实际上收到了HTTP 200,但是响应体是空的 - 没有来自hello资源的信息。是否可以组合这样的过滤器?
添加回答
举报
0/150
提交
取消