|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.filter.GenericFilterBean
org.springframework.security.web.context.SecurityContextPersistenceFilter
org.springframework.security.web.context.HttpSessionContextIntegrationFilter
public class HttpSessionContextIntegrationFilter
Populates the SecurityContextHolder with information obtained from
the HttpSession.
HttpSession will be queried to retrieve the
SecurityContext that should be stored against the
SecurityContextHolder for the duration of the web request. At
the end of the web request, any updates made to the
SecurityContextHolder will be persisted back to the
HttpSession by this filter.
If a valid SecurityContext cannot be obtained from the
HttpSession for whatever reason, a fresh
SecurityContext will be created and used instead. The created
object will be of the instance defined by the setContextClass(Class)
method (which defaults to SecurityContextImpl.
No HttpSession will be created by this filter if one does not
already exist. If at the end of the web request the HttpSession
does not exist, a HttpSession will only be created if
the current contents of the SecurityContextHolder are not
Object.equals(java.lang.Object) to a new
instance of setContextClass(Class). This avoids needless
HttpSession creation, but automates the storage of changes
made to the SecurityContextHolder. There is one exception to
this rule, that is if the forceEagerSessionCreation property is
true, in which case sessions will always be created
irrespective of normal session-minimisation logic (the default is
false, as this is resource intensive and not recommended).
This filter will only execute once per request, to resolve servlet container
(specifically Weblogic) incompatibilities.
If for whatever reason no HttpSession should ever be
created (eg this filter is only being used with Basic authentication or
similar clients that will never present the same jsessionid
etc), the setAllowSessionCreation(boolean) should be set to
false. Only do this if you really need to conserve server
memory and ensure all classes using the SecurityContextHolder
are designed to have no persistence of the SecurityContext
between web requests. Please note that if forceEagerSessionCreation
is true, the allowSessionCreation must also be
true (setting it to false will cause a startup
time error).
This filter MUST be executed BEFORE any authentication processing mechanisms.
Authentication processing mechanisms (eg BASIC, CAS processing filters etc)
expect the SecurityContextHolder to contain a valid
SecurityContext by the time they execute.
| Field Summary | |
|---|---|
static String |
SPRING_SECURITY_CONTEXT_KEY
Deprecated. |
| Fields inherited from class org.springframework.web.filter.GenericFilterBean |
|---|
logger |
| Constructor Summary | |
|---|---|
HttpSessionContextIntegrationFilter()
Deprecated. |
|
| Method Summary | |
|---|---|
void |
afterPropertiesSet()
Deprecated. |
protected Class<? extends SecurityContext> |
getContextClass()
Deprecated. |
boolean |
isAllowSessionCreation()
Deprecated. |
boolean |
isCloneFromHttpSession()
Deprecated. |
boolean |
isForceEagerSessionCreation()
Deprecated. |
void |
setAllowSessionCreation(boolean allowSessionCreation)
Deprecated. |
void |
setCloneFromHttpSession(boolean cloneFromHttpSession)
Deprecated. |
void |
setContextClass(Class secureContext)
Deprecated. |
void |
setForceEagerSessionCreation(boolean forceEagerSessionCreation)
Deprecated. |
| Methods inherited from class org.springframework.security.web.context.SecurityContextPersistenceFilter |
|---|
doFilter, setSecurityContextRepository |
| Methods inherited from class org.springframework.web.filter.GenericFilterBean |
|---|
addRequiredProperty, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setServletContext |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String SPRING_SECURITY_CONTEXT_KEY
| Constructor Detail |
|---|
public HttpSessionContextIntegrationFilter()
throws javax.servlet.ServletException
javax.servlet.ServletException| Method Detail |
|---|
public boolean isCloneFromHttpSession()
public void setCloneFromHttpSession(boolean cloneFromHttpSession)
public boolean isAllowSessionCreation()
public void setAllowSessionCreation(boolean allowSessionCreation)
protected Class<? extends SecurityContext> getContextClass()
public void setContextClass(Class secureContext)
public boolean isForceEagerSessionCreation()
public void setForceEagerSessionCreation(boolean forceEagerSessionCreation)
setForceEagerSessionCreation in class SecurityContextPersistenceFilterpublic void afterPropertiesSet()
afterPropertiesSet in interface InitializingBeanafterPropertiesSet in class GenericFilterBean
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||