@ -331,45 +331,46 @@ public class HttpSessionContextIntegrationFilter implements InitializingBean, Fi
@@ -331,45 +331,46 @@ public class HttpSessionContextIntegrationFilter implements InitializingBean, Fi
boolean httpSessionExistedAtStartOfRequest ,
int contextWhenChainProceeded ) {
HttpSession httpSession = null ;
try {
httpSession = ( ( HttpServletRequest ) request ) . getSession ( false ) ;
}
catch ( IllegalStateException ignored ) {
}
if ( ( httpSession = = null ) & & httpSessionExistedAtStartOfRequest ) {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "HttpSession is now null, but was not null at start of request; "
+ "session was invalidated, so do not create a new session" ) ;
}
}
// Generate a HttpSession only if we need to
if ( ( httpSession = = null ) & & ! httpSessionExistedAtStartOfRequest ) {
if ( ! allowSessionCreation ) {
if ( logger . isDebugEnabled ( ) ) {
logger
. debug ( "The HttpSession is currently null, and the "
+ "HttpSessionContextIntegrationFilter is prohibited from creating an HttpSession "
+ "(because the allowSessionCreation property is false) - SecurityContext thus not "
+ "stored for next request" ) ;
}
} else if ( ! contextObject . equals ( SecurityContextHolder . getContext ( ) ) ) {
if ( httpSession = = null ) {
if ( httpSessionExistedAtStartOfRequest ) {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "HttpSession being created as SecurityContextHolder contents are non-default" ) ;
}
try {
httpSession = ( ( HttpServletRequest ) request ) . getSession ( true ) ;
}
catch ( IllegalStateException ignored ) {
logger . debug ( "HttpSession is now null, but was not null at start of request; "
+ "session was invalidated, so do not create a new session" ) ;
}
} else {
if ( logger . isDebugEnabled ( ) ) {
logger
. debug ( "HttpSession is null, but SecurityContextHolder has not changed from default: ' "
+ SecurityContextHolder . getContext ( )
+ "'; not creating HttpSession or storing SecurityContextHolder contents" ) ;
// Generate a HttpSession only if we need to
if ( ! allowSessionCreation ) {
if ( logger . isDebugEnabled ( ) ) {
logger
. debug ( "The HttpSession is currently null, and the "
+ "HttpSessionContextIntegrationFilter is prohibited from creating an HttpSession "
+ "(because the allowSessionCreation property is false) - SecurityContext thus not "
+ "stored for next request" ) ;
}
} else if ( ! contextObject . equals ( SecurityContextHolder . getContext ( ) ) ) {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "HttpSession being created as SecurityContextHolder contents are non-default" ) ;
}
try {
httpSession = ( ( HttpServletRequest ) request ) . getSession ( true ) ;
}
catch ( IllegalStateException ignored ) {
}
} else {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "HttpSession is null, but SecurityContextHolder has not changed from default: ' "
+ SecurityContextHolder . getContext ( )
+ "'; not creating HttpSession or storing SecurityContextHolder contents" ) ;
}
}
}
}