Skip to content

PT BR 05.02. Cacheamento

Rafael Dipold edited this page Dec 30, 2013 · 1 revision

Enquanto o Cache é uma parte fundamental do Apache Shiro, a implementação de um mecanismo desse porte estaria fora da competência central de uma estrutura de segurança. Portanto, o sistema de Cache do Apache Shiro é basicamente uma API de abstração que se situa no topo de um mecanismo de cache (por exemplo Hazelcast, EHCache, OSCache, Terracotta, Coherence, GigaSpaces, JBossCache, etc). Isso permite que o usuário final possa configurar qualquer mecanismo de cache que preferir.

Vários componentes internos do Apache Shiro se beneficiam caso haja algum gerenciamento de Cache ativo na aplicação. Isso pode ser feito na inicialização do plugin:

public class InitConfigStrategy implements ShiroInitConfigStrategy {
    @Inject private HttpServletRequest request;
	
    @Override
    public void init(DefaultWebSecurityManager securityManager, AuthorizingRealm realm) {
        MemoryConstrainedCacheManager cacheManager = new MemoryConstrainedCacheManager();
        securityManager.setCacheManager(cacheManager);
    }
}

Atualmente o Apache Shiro provê apenas uma implementação de um sistema de Cache que utiliza memória volátil para armazenamento, porém, caso precise de uma implementação mais avançada, consulte a documentação oficial.