shiro碰到的问题 does not support authentication token

自己写了一个Ream,配置到了SecurityManager中,但是验证的时候,一直报这个错。

查了半天,没进展,最后还是发现自己粗心,代码的问题。
场景一:
每一个Ream都有一个supports方法,用于检测是否支持此Token, 而我在该函数中,默认的采用了return false,false 当然不支持了~

修改为了:public class ShiroRealm extends CasRealm 重写这个supports方法

	@Override
	public boolean supports(AuthenticationToken token) {
	     // TODO Auto-generated method stub
	     return token instanceof UsernamePasswordToken;
	}

场景二:
需在SecurityManager中新增多个realm,把自己自定义的Realm包含进去

    @Bean
    public SecurityManager securityManager() {
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        securityManager.setRealms(Arrays.asList(AAARealm, xxxRealm));
        securityManager.setSessionManager(this.sessionManager());
        securityManager.setCacheManager(shiroCacheManager);
        return securityManager;
    }    

你可能感兴趣的:(java,开发语言)