出现错误的位置为配置Shiro的类:ShiroConfig
错误代码:
@Bean
public SessionsSecurityManager sessionsSecurityManager(AccountRealm accountRealm, SessionManager sessionManager, RedisCacheManager redisCacheManager){
DefaultSecurityManager securityManager = new DefaultSecurityManager(accountRealm);
securityManager.setSessionManager(sessionManager);
securityManager.setCacheManager(redisCacheManager);
return securityManager;
}
错误原因:
使用DefaultSecurityManager时,没有调用对应的接口,而DefaultWebSecurityManager类中实现了对应的接口
修改后的代码:
@Bean
public SessionsSecurityManager sessionsSecurityManager(AccountRealm accountRealm, SessionManager sessionManager, RedisCacheManager redisCacheManager){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(accountRealm);
securityManager.setSessionManager(sessionManager);
securityManager.setCacheManager(redisCacheManager);
return securityManager;
}