我有兴趣评估 Apache Shiro 用于 Web 应用程序的身份验证和授权解决方案。应用程序的底层数据存储是 Couchbase 2.1.1。但是,我还没有看到如何在任何 Shiro 文档或入门指南中配置 Shiro 以使用 NoSQL 文档存储,例如 Couchbase。
这可能吗?如果是这样,怎么做?
我没有使用 Shiro,但我看到你有一些插件可以集成 Memcached 和 Shiro。您可以使用它来连接/缓存 Couchbase 中的数据,因为 Couchbase 符合 memcached 协议
会话缓存并不难:在DefaultWebSessionManager
(或您的实现)调用setCache()
中使用您自己的 a 实现CacheManager
。
在您的实现上CacheManager
,覆盖该方法public <K, V> Cache<K, V> getCache(String cacheName) throws CacheException
以返回您的Cache
实现。
此Cache
实现必须处理对 CouchBase 的调用。现在你必须确保你HttpSession
的 s 是可序列化的。
如果你想缓存授权和身份验证信息,你必须在 `AuthorizingRealm` 的实现上做同样的事情