|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.security.config.annotation.AbstractSecurityBuilder<O> org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder<O,B>
O
- The object that this builder returnsB
- The type of this builder (that is returned by the base class)public abstract class AbstractConfiguredSecurityBuilder<O,B extends SecurityBuilder<O>>
A base SecurityBuilder
that allows SecurityConfigurer
to be
applied to it. This makes modifying the SecurityBuilder
a strategy
that can be customized and broken up into a number of
SecurityConfigurer
objects that have more specific goals than that
of the SecurityBuilder
.
For example, a SecurityBuilder
may build an
DelegatingFilterProxy
, but a SecurityConfigurer
might
populate the SecurityBuilder
with the filters necessary for session
management, form based login, authorization, etc.
WebSecurity
Constructor Summary | |
---|---|
protected |
AbstractConfiguredSecurityBuilder()
Creates a new instance without post processing |
protected |
AbstractConfiguredSecurityBuilder(ObjectPostProcessor<Object> objectPostProcessor)
Creates a new instance with the provided ObjectPostProcessor . |
protected |
AbstractConfiguredSecurityBuilder(ObjectPostProcessor<Object> objectPostProcessor,
boolean allowConfigurersOfSameType)
Creates a new instance with the provided ObjectPostProcessor . |
Method Summary | ||
---|---|---|
|
apply(C configurer)
Applies a SecurityConfigurer to this SecurityBuilder
overriding any SecurityConfigurer of the exact same class. |
|
|
apply(C configurer)
Applies a SecurityConfigurerAdapter to this
SecurityBuilder and invokes
SecurityConfigurerAdapter.setBuilder(SecurityBuilder) . |
|
protected void |
beforeConfigure()
Invoked prior to invoking each SecurityConfigurer.configure(SecurityBuilder) method. |
|
protected void |
beforeInit()
Invoked prior to invoking each SecurityConfigurer.init(SecurityBuilder) method. |
|
protected O |
doBuild()
Executes the build using the SecurityConfigurer 's that have been applied using the following steps:
Invokes beforeInit() for any subclass to hook into
Invokes SecurityConfigurer.init(SecurityBuilder) for any SecurityConfigurer that was applied to this builder.
Invokes beforeConfigure() for any subclass to hook into
Invokes performBuild() which actually builds the Object
|
|
|
getConfigurer(Class<C> clazz)
Gets the SecurityConfigurer by its class name or
null if not found. |
|
|
getConfigurers(Class<C> clazz)
Gets all the SecurityConfigurer instances by its class name or an
empty List if not found. |
|
O |
getOrBuild()
Similar to AbstractSecurityBuilder.build() and AbstractSecurityBuilder.getObject() but checks the state
to determine if AbstractSecurityBuilder.build() needs to be called first. |
|
|
getSharedObject(Class<C> sharedType)
Gets a shared Object. |
|
Map<Class<Object>,Object> |
getSharedObjects()
Gets the shared objects |
|
O |
objectPostProcessor(ObjectPostProcessor<Object> objectPostProcessor)
Specifies the ObjectPostProcessor to use. |
|
protected abstract O |
performBuild()
Subclasses must implement this method to build the object that is being returned. |
|
protected
|
postProcess(P object)
Performs post processing of an object. |
|
|
removeConfigurer(Class<C> clazz)
Removes and returns the SecurityConfigurer by its class name or
null if not found. |
|
|
removeConfigurers(Class<C> clazz)
Removes all the SecurityConfigurer instances by its class name or an
empty List if not found. |
|
|
setSharedObject(Class<C> sharedType,
C object)
Sets an object that is shared by multiple SecurityConfigurer . |
Methods inherited from class org.springframework.security.config.annotation.AbstractSecurityBuilder |
---|
build, getObject |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractConfiguredSecurityBuilder()
protected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<Object> objectPostProcessor)
ObjectPostProcessor
.
This post processor must support Object since there are many types of
objects that may be post processed.
objectPostProcessor
- the ObjectPostProcessor
to useprotected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<Object> objectPostProcessor, boolean allowConfigurersOfSameType)
ObjectPostProcessor
.
This post processor must support Object since there are many types of
objects that may be post processed.
objectPostProcessor
- the ObjectPostProcessor
to useallowConfigurersOfSameType
- if true, will not override other SecurityConfigurer
's when performing applyMethod Detail |
---|
public O getOrBuild()
AbstractSecurityBuilder.build()
and AbstractSecurityBuilder.getObject()
but checks the state
to determine if AbstractSecurityBuilder.build()
needs to be called first.
AbstractSecurityBuilder.build()
or AbstractSecurityBuilder.getObject()
. If an
error occurs while building, returns null.public <C extends SecurityConfigurerAdapter<O,B>> C apply(C configurer) throws Exception
SecurityConfigurerAdapter
to this
SecurityBuilder
and invokes
SecurityConfigurerAdapter.setBuilder(SecurityBuilder)
.
configurer
-
Exception
public <C extends SecurityConfigurer<O,B>> C apply(C configurer) throws Exception
SecurityConfigurer
to this SecurityBuilder
overriding any SecurityConfigurer
of the exact same class. Note
that object hierarchies are not considered.
configurer
-
Exception
public <C> void setSharedObject(Class<C> sharedType, C object)
SecurityConfigurer
.
sharedType
- the Class to key the shared object by.object
- the Object to storepublic <C> C getSharedObject(Class<C> sharedType)
sharedType
- the type of the shared Object
public Map<Class<Object>,Object> getSharedObjects()
public <C extends SecurityConfigurer<O,B>> List<C> getConfigurers(Class<C> clazz)
SecurityConfigurer
instances by its class name or an
empty List if not found. Note that object hierarchies are not considered.
clazz
- the SecurityConfigurer
class to look for
public <C extends SecurityConfigurer<O,B>> List<C> removeConfigurers(Class<C> clazz)
SecurityConfigurer
instances by its class name or an
empty List if not found. Note that object hierarchies are not considered.
clazz
- the SecurityConfigurer
class to look for
public <C extends SecurityConfigurer<O,B>> C getConfigurer(Class<C> clazz)
SecurityConfigurer
by its class name or
null
if not found. Note that object hierarchies are not
considered.
clazz
-
public <C extends SecurityConfigurer<O,B>> C removeConfigurer(Class<C> clazz)
SecurityConfigurer
by its class name or
null
if not found. Note that object hierarchies are not
considered.
clazz
-
public O objectPostProcessor(ObjectPostProcessor<Object> objectPostProcessor)
ObjectPostProcessor
to use.
objectPostProcessor
- the ObjectPostProcessor
to use. Cannot be null
SecurityBuilder
for further customizationsprotected <P> P postProcess(P object)
ObjectPostProcessor
.
object
- the Object to post process
protected final O doBuild() throws Exception
SecurityConfigurer
's that have been applied using the following steps:
beforeInit()
for any subclass to hook intoSecurityConfigurer.init(SecurityBuilder)
for any SecurityConfigurer
that was applied to this builder.beforeConfigure()
for any subclass to hook intoperformBuild()
which actually builds the Object
doBuild
in class AbstractSecurityBuilder<O>
AbstractSecurityBuilder.build()
.
Exception
- if an error occursprotected void beforeInit() throws Exception
SecurityConfigurer.init(SecurityBuilder)
method. Subclasses may
override this method to hook into the lifecycle without using a
SecurityConfigurer
.
Exception
protected void beforeConfigure() throws Exception
SecurityConfigurer.configure(SecurityBuilder)
method.
Subclasses may override this method to hook into the lifecycle without
using a SecurityConfigurer
.
Exception
protected abstract O performBuild() throws Exception
Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |