2011-12-26 5 views
1

настройки кэш сеанса Shiro с Ehcache + терракоты, putitng эти конфиги в Config.groovy -Shiro Grails плагин - конфиг

security.shiro.sessionDAO = «org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO "

// Это имя совпадает с именем кэша в ehcache.xml: security.shiro.sessionDAO.activeSessionsCacheName = "Сиро activeSessionsCache" security.shiro.securityManager.sessionManager.sessionDAO =" org.apache.shiro. session.mgt.eis.EnterpriseCacheSessionDAO "

// Конфигурирование EhCac heManager: security.shiro.cacheManager = "org.apache.shiro.cache.ehcache.EhCacheManager" security.shiro.cacheManager.cacheManagerConfigFile = "путь к классам: session_ehcache.xml"

// Настройка выше CacheManager на Широ SecurityManager // использовать его для всех потребностей кэширования Широ: security.shiro.securityManager.cacheManager = «org.apache.shiro.cache.ehcache.EhCacheManager»

но выглядит как Shiro плагин не читает конфигурацию, использовали «security.shiro» в качестве префикса

Заранее благодарен

ответ

0

Разобрался это может быть сделано либо одного пути -

1.Configure (переопределить над определением плагин) собственно shiroSecurityManager фасоли в resources.groovy:

myShiroSessionDAO(org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO) { 
    activeSessionsCacheName="shiro-activeSessionsCache" 
} 
myShiroSessionManager(org.apache.shiro.web.session.mgt.DefaultWebSessionManager) { 
    sessionDAO = ref("myShiroSessionDAO") 
} 
myShiroCacheManager(org.apache.shiro.cache.ehcache.EhCacheManager) { 
    cacheManagerConfigFile = "classpath:session_ehcache.xml" 
    //cacheManager = CacheManager.create() 
} 
shiroSecurityManager(org.apache.shiro.web.mgt.DefaultWebSecurityManager) { 
    cacheManager = ref("myShiroCacheManager") 
    sessionManager = ref("myShiroSessionManager") 
} 

ИЛИ

2.Configure shiroSecurityManager на Bootstrap.groovy

def sessionDao = new org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO() 
sessionDao.activeSessionsCacheName="shiro-activeSessionCache" 
shiroSecurityManager.sessionManager.sessionDAO = sessionDao 
def cacheManager = new org.apache.shiro.cache.ehcache.EhCacheManager() 
cacheManager.cacheManagerConfigFile = "classpath:session_ehcache.xml" 
shiroSecurityManager.cacheManager = cacheManager 

@Config.groovy put -

security.shiro.session.mode="native" 
Смежные вопросы