Package org.apache.shiro.mgt
Class CachingSecurityManager
- java.lang.Object
-
- org.apache.shiro.mgt.CachingSecurityManager
-
- All Implemented Interfaces:
Authenticator
,Authorizer
,org.apache.shiro.cache.CacheManagerAware
,org.apache.shiro.event.EventBusAware
,SecurityManager
,SessionManager
,org.apache.shiro.util.Destroyable
- Direct Known Subclasses:
RealmSecurityManager
public abstract class CachingSecurityManager extends Object implements SecurityManager, org.apache.shiro.util.Destroyable, org.apache.shiro.cache.CacheManagerAware, org.apache.shiro.event.EventBusAware
A very basic starting point for the SecurityManager interface that merely provides logging and caching support. All actualSecurityManager
method implementations are left to subclasses. Change in 1.0 - a defaultCacheManager
instance is not created by default during instantiation. As caching strategies can vary greatly depending on an application's needs, aCacheManager
instance must be explicitly configured if caching across the framework is to be enabled.- Since:
- 0.9
-
-
Constructor Summary
Constructors Constructor Description CachingSecurityManager()
Default no-arg constructor that will automatically attempt to initialize a default cacheManager
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterCacheManagerSet()
Template callback to notify subclasses that aCacheManager
has been set and is available for use via thegetCacheManager()
method.protected void
afterEventBusSet()
Template callback to notify subclasses that anEventBus
has been set and is available for use via thegetEventBus()
method.protected void
applyEventBusToCacheManager()
void
destroy()
Destroys thecacheManager
viaLifecycleUtils.destroy
.org.apache.shiro.cache.CacheManager
getCacheManager()
Returns the CacheManager used by this SecurityManager.org.apache.shiro.event.EventBus
getEventBus()
Returns theEventBus
used by this SecurityManager and potentially any of its children components.void
setCacheManager(org.apache.shiro.cache.CacheManager cacheManager)
Sets the CacheManager used by thisSecurityManager
and potentially any of its children components.void
setEventBus(org.apache.shiro.event.EventBus eventBus)
Sets the EventBus used by thisSecurityManager
and potentially any of its children components.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.shiro.authc.Authenticator
authenticate
-
Methods inherited from interface org.apache.shiro.authz.Authorizer
checkPermission, checkPermission, checkPermissions, checkPermissions, checkRole, checkRoles, checkRoles, hasAllRoles, hasRole, hasRoles, isPermitted, isPermitted, isPermitted, isPermitted, isPermittedAll, isPermittedAll
-
Methods inherited from interface org.apache.shiro.mgt.SecurityManager
createSubject, login, logout
-
Methods inherited from interface org.apache.shiro.session.mgt.SessionManager
getSession, start
-
-
-
-
Method Detail
-
getCacheManager
public org.apache.shiro.cache.CacheManager getCacheManager()
Returns the CacheManager used by this SecurityManager.- Returns:
- the cacheManager used by this SecurityManager
-
setCacheManager
public void setCacheManager(org.apache.shiro.cache.CacheManager cacheManager)
Sets the CacheManager used by thisSecurityManager
and potentially any of its children components. After the cacheManager attribute has been set, the template methodafterCacheManagerSet()
is executed to allow subclasses to adjust when a cacheManager is available.- Specified by:
setCacheManager
in interfaceorg.apache.shiro.cache.CacheManagerAware
- Parameters:
cacheManager
- the CacheManager used by thisSecurityManager
and potentially any of its children components.
-
afterCacheManagerSet
protected void afterCacheManagerSet()
Template callback to notify subclasses that aCacheManager
has been set and is available for use via thegetCacheManager()
method.
-
getEventBus
public org.apache.shiro.event.EventBus getEventBus()
Returns theEventBus
used by this SecurityManager and potentially any of its children components.- Returns:
- the
EventBus
used by this SecurityManager and potentially any of its children components. - Since:
- 1.3
-
setEventBus
public void setEventBus(org.apache.shiro.event.EventBus eventBus)
Sets the EventBus used by thisSecurityManager
and potentially any of its children components. After the eventBus attribute has been set, the template methodafterEventBusSet()
is executed to allow subclasses to adjust when a eventBus is available.- Specified by:
setEventBus
in interfaceorg.apache.shiro.event.EventBusAware
- Parameters:
eventBus
- the EventBus used by thisSecurityManager
and potentially any of its children components.- Since:
- 1.3
-
applyEventBusToCacheManager
protected void applyEventBusToCacheManager()
- Since:
- 1.3
-
afterEventBusSet
protected void afterEventBusSet()
Template callback to notify subclasses that anEventBus
has been set and is available for use via thegetEventBus()
method.- Since:
- 1.3
-
destroy
public void destroy()
Destroys thecacheManager
viaLifecycleUtils.destroy
.- Specified by:
destroy
in interfaceorg.apache.shiro.util.Destroyable
-
-