Skip to content

Commit 21e8b8d

Browse files
committed
Use SecurityContextHolderStrategy in CasAuthenticationFilter
Closes gh-13265
1 parent 52e12ad commit 21e8b8d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationFilter.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.springframework.security.core.AuthenticationException;
3939
import org.springframework.security.core.context.SecurityContext;
4040
import org.springframework.security.core.context.SecurityContextHolder;
41+
import org.springframework.security.core.context.SecurityContextHolderStrategy;
4142
import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter;
4243
import org.springframework.security.web.authentication.AuthenticationFailureHandler;
4344
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
@@ -195,6 +196,9 @@ public class CasAuthenticationFilter extends AbstractAuthenticationProcessingFil
195196

196197
private SecurityContextRepository securityContextRepository = new HttpSessionSecurityContextRepository();
197198

199+
private SecurityContextHolderStrategy securityContextHolderStrategy = SecurityContextHolder
200+
.getContextHolderStrategy();
201+
198202
public CasAuthenticationFilter() {
199203
super("/login/cas");
200204
setAuthenticationFailureHandler(new SimpleUrlAuthenticationFailureHandler());
@@ -211,9 +215,10 @@ protected final void successfulAuthentication(HttpServletRequest request, HttpSe
211215
}
212216
this.logger.debug(
213217
LogMessage.format("Authentication success. Updating SecurityContextHolder to contain: %s", authResult));
214-
SecurityContext context = SecurityContextHolder.createEmptyContext();
218+
219+
SecurityContext context = this.securityContextHolderStrategy.createEmptyContext();
215220
context.setAuthentication(authResult);
216-
SecurityContextHolder.setContext(context);
221+
this.securityContextHolderStrategy.setContext(context);
217222
this.securityContextRepository.saveContext(context, request, response);
218223
if (this.eventPublisher != null) {
219224
this.eventPublisher.publishEvent(new InteractiveAuthenticationSuccessEvent(authResult, this.getClass()));

0 commit comments

Comments
 (0)