我在tomcat中部署了两个以上的Web应用程序。其中一个应用程序使用apache shiro进行会话管理。我需要从第一个应用程序获取会话ID,并在我的其他应用程序中使用它。
例如
第一个应用程序示例使用 MemoryConstrainedCacheManager
Shiro.ini
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager
对于第二个应用程序,如果我使用相同的第一个
配置cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager
SSO会话管理无效。我需要再次登录。
如果我在两个应用程序中使用EhcacheManager,通过在xml中配置缓存工作,
ssoCacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
ssoCacheManager.cacheManagerConfigFile = classpath:ehcache.xml
securityManager.cacheManager = $ssoCacheManager
MemoryConstrained和EHCache管理器有什么区别?我可以使用内存受限的缓存管理器将会话ID存储在tomcat容器中,并在其他Web应用程序中使用它。