Package org.apache.shiro.guice
Class ShiroModule
- java.lang.Object
-
- com.google.inject.PrivateModule
-
- org.apache.shiro.guice.ShiroModule
-
- All Implemented Interfaces:
com.google.inject.Module
,Destroyable
- Direct Known Subclasses:
QuickstartShiroModule
,ShiroWebModule
public abstract class ShiroModule extends com.google.inject.PrivateModule implements Destroyable
Sets up Shiro lifecycles within Guice, enables the injecting of Shiro objects, and binds a defaultSecurityManager
andSessionManager
. At least one realm must be added by usingbindRealm
.
-
-
Constructor Summary
Constructors Constructor Description ShiroModule()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
add(Destroyable destroyable)
protected <T> void
bindBeanType(com.google.inject.TypeLiteral<T> typeLiteral, com.google.inject.Key<? extends T> key)
Binds a key to use for injecting setters in shiro classes.protected void
bindEnvironment(com.google.inject.binder.AnnotatedBindingBuilder<Environment> bind)
Binds the environment.protected void
bindEventBus(com.google.inject.binder.AnnotatedBindingBuilder<EventBus> bind)
Binds the EventBus.protected com.google.inject.binder.LinkedBindingBuilder<Realm>
bindRealm()
This is the preferred manner to bind a realm.protected void
bindSecurityManager(com.google.inject.binder.AnnotatedBindingBuilder<? super SecurityManager> bind)
Binds the security manager.protected void
bindSessionManager(com.google.inject.binder.AnnotatedBindingBuilder<SessionManager> bind)
Binds the session manager.void
configure()
protected abstract void
configureShiro()
Implement this method in order to configure your realms and any other Shiro customization you may need.void
destroy()
Destroys all beans created within this module that implementDestroyable
.-
Methods inherited from class com.google.inject.PrivateModule
addError, addError, addError, bind, bind, bind, bindConstant, binder, bindInterceptor, bindListener, bindListener, bindScope, configure, convertToTypes, currentStage, expose, expose, expose, getMembersInjector, getMembersInjector, getProvider, getProvider, install, requestInjection, requestStaticInjection, requireBinding, requireBinding
-
-
-
-
Constructor Detail
-
ShiroModule
public ShiroModule()
-
-
Method Detail
-
configure
public void configure()
- Specified by:
configure
in classcom.google.inject.PrivateModule
-
configureShiro
protected abstract void configureShiro()
Implement this method in order to configure your realms and any other Shiro customization you may need.
-
bindRealm
protected final com.google.inject.binder.LinkedBindingBuilder<Realm> bindRealm()
This is the preferred manner to bind a realm. TheSecurityManager
will be injected with any Realm bound with this method.- Returns:
- a binding builder for a realm
-
bindSecurityManager
protected void bindSecurityManager(com.google.inject.binder.AnnotatedBindingBuilder<? super SecurityManager> bind)
Binds the security manager. Override this method in order to provide your own security manager binding. By default, aDefaultSecurityManager
is bound as an eager singleton.- Parameters:
bind
-
-
bindSessionManager
protected void bindSessionManager(com.google.inject.binder.AnnotatedBindingBuilder<SessionManager> bind)
Binds the session manager. Override this method in order to provide your own session manager binding. By default, aDefaultSessionManager
is bound as an eager singleton.- Parameters:
bind
-
-
bindEnvironment
protected void bindEnvironment(com.google.inject.binder.AnnotatedBindingBuilder<Environment> bind)
Binds the environment. Override this method in order to provide your own environment binding. By default, aGuiceEnvironment
is bound as an eager singleton.- Parameters:
bind
-
-
bindBeanType
protected final <T> void bindBeanType(com.google.inject.TypeLiteral<T> typeLiteral, com.google.inject.Key<? extends T> key)
Binds a key to use for injecting setters in shiro classes.- Type Parameters:
T
-- Parameters:
typeLiteral
- the bean property typekey
- the key to use to satisfy the bean property dependency
-
bindEventBus
protected void bindEventBus(com.google.inject.binder.AnnotatedBindingBuilder<EventBus> bind)
Binds the EventBus. Override this method in order to provide your ownEventBus
binding.- Parameters:
bind
-- Since:
- 1.4
-
destroy
public final void destroy()
Destroys all beans created within this module that implementDestroyable
. Should be called when this module will no longer be used.- Specified by:
destroy
in interfaceDestroyable
- Throws:
Exception
-
add
public void add(Destroyable destroyable)
-
-