38
38
import org .springframework .security .core .AuthenticationException ;
39
39
import org .springframework .security .core .context .SecurityContext ;
40
40
import org .springframework .security .core .context .SecurityContextHolder ;
41
+ import org .springframework .security .core .context .SecurityContextHolderStrategy ;
41
42
import org .springframework .security .web .authentication .AbstractAuthenticationProcessingFilter ;
42
43
import org .springframework .security .web .authentication .AuthenticationFailureHandler ;
43
44
import org .springframework .security .web .authentication .SimpleUrlAuthenticationFailureHandler ;
@@ -195,6 +196,9 @@ public class CasAuthenticationFilter extends AbstractAuthenticationProcessingFil
195
196
196
197
private SecurityContextRepository securityContextRepository = new HttpSessionSecurityContextRepository ();
197
198
199
+ private SecurityContextHolderStrategy securityContextHolderStrategy = SecurityContextHolder
200
+ .getContextHolderStrategy ();
201
+
198
202
public CasAuthenticationFilter () {
199
203
super ("/login/cas" );
200
204
setAuthenticationFailureHandler (new SimpleUrlAuthenticationFailureHandler ());
@@ -211,9 +215,10 @@ protected final void successfulAuthentication(HttpServletRequest request, HttpSe
211
215
}
212
216
this .logger .debug (
213
217
LogMessage .format ("Authentication success. Updating SecurityContextHolder to contain: %s" , authResult ));
214
- SecurityContext context = SecurityContextHolder .createEmptyContext ();
218
+
219
+ SecurityContext context = this .securityContextHolderStrategy .createEmptyContext ();
215
220
context .setAuthentication (authResult );
216
- SecurityContextHolder .setContext (context );
221
+ this . securityContextHolderStrategy .setContext (context );
217
222
this .securityContextRepository .saveContext (context , request , response );
218
223
if (this .eventPublisher != null ) {
219
224
this .eventPublisher .publishEvent (new InteractiveAuthenticationSuccessEvent (authResult , this .getClass ()));
0 commit comments