2012-01-06 30 views

Trả lời

4

Nếu sử dụng cấu hình INI của Shiro, bạn đặt thuộc tính CacheManager của SecurityManager giống như bất kỳ thuộc tính bean nào khác. Ví dụ:

[main] 

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

securityManager.cacheManager = $cacheManager 

Bạn có thể sử dụng out-of-the-box EhCacheManager hoặc thực hiện các CacheManagerCache giao diện chính mình để sử dụng một cửa hàng quay lại bộ nhớ cache tùy chỉnh (ví dụ Memcache, Coherence, GigaSpaces, bất kỳ NoSQL chính hiện đại/Cửa hàng giá trị, v.v ...)

1

Dường như EhCacheManager không phải là một phần của shiro-core 1.2.1 (trong gói Maven). Tôi giải quyết vấn đề bằng cách thêm dòng sau vào [chính] phần của tôi trong shiro.ini:

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

Hi Allan - chúng tôi không thể ép buộc ehcache phụ thuộc vào tất cả người dùng Shiro, vì vậy hỗ trợ ehcache được cung cấp như một [Plugin] (http://search.maven.org/#search%7Cga%7C1%7Cshiro-ehcache). Chỉ cần thêm nó vào classpath thời gian chạy của bạn và bạn có thể sử dụng EhCacheManager ngay lập tức. HTH! –

+1

Ahh, không biết điều đó. Tôi mặc dù khi bạn nói rằng nó đã được out-of-the-box rằng nó đã được bao gồm trong thư viện cốt lõi. Cảm ơn! –

Các vấn đề liên quan