由于的UserReaml 间接继承了AuthenticatingRealm,而调用cache时会运行以下两个方法,所以需要设置this.authenticationCachingEnabled && isCachingEnabled() 这个属性或者方法对应的属性才能开启cache。
AuthenticatingRealm 中 方法
private Cache<Object, AuthenticationInfo> getAvailableAuthenticationCache() {
Cache<Object, AuthenticationInfo> cache = getAuthenticationCache();
boolean authcCachingEnabled = isAuthenticationCachingEnabled();
if (cache == null && authcCachingEnabled) {
cache = getAuthenticationCacheLazy();
}
return cache;
}
public boolean isAuthenticationCachingEnabled() {
// 注意看这里
return this.authenticationCachingEnabled && isCachingEnabled();
}
网友评论