セキュリティ実装のためにプロジェクトでApache shiroを使用しています。私はCDIを使ってセキュリティ領域を注入しました。私は、Jboss Infinispanを使ってshiroに認証と認証のキャッシングを実装したいと思っています。誰かがいくつかのポインタを共有してもらえますか?JBoss Infinspanを使ってApache Shiroでキャッシングを実装する
-1
A
答えて
0
shiroでキャッシュを実装するには、org.apache.shiro.cache.Cacheとorg.apache.shiro.cache.CacheManagerを実装する必要があります。あなたがinfinispan使用したい場合は、次の手順を実行します。
はorg.apache.shiro.cache.Cache
import java.util.Collection;
import java.util.Set;
import org.apache.shiro.cache.Cache;
import org.apache.shiro.cache.CacheException;
public class InfinispanCache<K, V> implements Cache<K, V> {
private final org.infinispan.Cache<K, V> cacheProxy;
public InfinispanCache(final org.infinispan.Cache<K, V> cacheProxy) {
this.cacheProxy = cacheProxy;
}
@Override
public V get(final K key) throws CacheException {
return cacheProxy.get(key);
}
@Override
public V put(final K key, final V value) throws CacheException {
return cacheProxy.put(key, value);
}
@Override
public V remove(final K key) throws CacheException {
return cacheProxy.remove(key);
}
@Override
public void clear() throws CacheException {
cacheProxy.clear();
}
@Override
public int size() {
return cacheProxy.size();
}
@Override
public Set<K> keys() {
return cacheProxy.keySet();
}
@Override
public Collection<V> values() {
return cacheProxy.values();
}
}
がorg.apache.shiro.cache.CacheManager
import org.apache.shiro.cache.Cache;
import org.apache.shiro.cache.CacheException;
import org.apache.shiro.cache.CacheManager;
import org.infinispan.manager.CacheContainer;
public class InfinispanCacheManager implements CacheManager {
private final CacheContainer cacheContainer;
public InfinispanCacheManager(final CacheContainer cacheContainer) {
this.cacheContainer = cacheContainer;
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public <K, V> Cache<K, V> getCache(final String name) throws CacheException {
return new InfinispanCache(cacheContainer.getCache(name));
}
}
ジェクトを実装する実装キャッシュコンテナ。あなたのレルムがCDIを有効にしている場合、これはうまくいくはずです。
import javax.annotation.Resource;
/** The security cache manager. */
@Resource(lookup = "java:jboss/infinispan/container/<YOUR CACHE CONTAINER NAME>")
private EmbeddedCacheManager securityCacheManager;
は、レルムの実装では、あなたのキャッシュマネージャを設定します。
setCachingEnabled(true);
setAuthenticationCachingEnabled(true);
setAuthorizationCachingEnabled(true);
setCacheManager(new InfinispanCacheManager(securityCacheManager));
setAuthenticationCacheName(authenticationCacheName);
setAuthorizationCacheName(authorizationCacheName);
を同様に、あなたは他のキャッシュframeworskと四郎にそれを実装することができます。
関連する問題
- 1. JBoss上のSpring BootとInfinspanキャッシュ
- 2. フィルタでApache Shiro SecurityUtilsを使用する
- 3. Apache ShiroでJWTトークンベースの認証メカニズムを実装する方法は?
- 4. Kleisliでキャッシングを実装する方法
- 5. apache spark MLlibを使ってミニバッチKmeansを実装するには?
- 6. apache Shiroログイン
- 7. Apache Shiro 1.2.4 - 1.3.2
- 8. JdbcRealm in apache shiro
- 9. apache shiroを使ったユーザーの役割とユーザーのアクセス許可
- 10. 私のプロジェクトでGrailsのShiroセキュリティを実装する方法
- 11. JBoss Weld:テスト用に異なる実装を実装する
- 12. Apache ShiroのCSRFトークン
- 13. Apache shiro + kerberos認証
- 14. Spring 4 MVC + Apache Shiro
- 15. JBossのカスタムServerAuthModuleを実装する
- 16. Spring MVC非XMLプロジェクトでApache Shiroを使用する
- 17. Apache ShiroのJTDSデータソースを設定する
- 18. PDOとキャッシング、データベースクラスでの実装方法
- 19. Apache Shiroセキュリティアノテーションで式を使用できますか?
- 20. Apache tikaでPDFontキャッシングを削除する
- 21. Apache ShiroでRest APIを認証
- 22. Apacheサーバー上の.htaccessを使用してキャッシュコントロールを実装する
- 23. Apache Wicketを使用してACLを実装する方法は?
- 24. OData Javaでページングとキャッシングを実装する方法は?
- 25. データサイズの制限でキャッシングを実装する方法は?
- 26. Apache shiro + HTTPメソッドレベルの許可
- 27. Apache shiro LDAP複数のOU
- 28. Spring MVC MultiActionControllerとApache Shiro
- 29. Apache Shiro認証のカスタマイズ
- 30. Apache Shiro注釈AOPとRMI