2012-01-06 27 views

Respuesta

4

Si usa la configuración de INI de Shiro, establece la propiedad de cacheManager de SecurityManager como cualquier otra propiedad de bean. Por ejemplo:

[main] 

cacheManager = com.something.impl.SomeCacheManager 
# config cacheManager as necessary, e.g. 
# cacheManager.foo = bar 

securityManager.cacheManager = $cacheManager 

Puede utilizar el EhCacheManager fuera de la caja o implementar las CacheManager y Cache interfaces de sí mismo para utilizar un almacén de respaldo de caché personalizado (por ejemplo, Memcache, la coherencia, la GigaSpaces, cualquier moderna clave NoSQL/Value store, etc ...)

1

Parece que EhCacheManager no es parte de shiro-core 1.2.1 (en el paquete Maven de todos modos). He resuelto el problema agregando la siguiente a la sección [principal] en shiro.ini:

[main] 
builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
securityManager.cacheManager = $builtInCacheManager 
+3

Hola Allan - no podemos obligar a las dependencias Ehcache sobre todos los usuarios de Shiro, por lo que el apoyo Ehcache se proporciona como un [Plugin] (http://search.maven.org/#search%7Cga%7C1%7Cshiro-ehcache). Solo agréguelo a su classpath de tiempo de ejecución y puede usar EhCacheManager de inmediato. HTH! –

+1

Ahh, no lo sabía. Pensé que cuando mencionaste que estaba listo para usar, se incluyó en la biblioteca central. ¡Gracias! –

Cuestiones relacionadas