Add SecurityContextHolderStrategy for Jaas

Issue gh-11060
Issue gh-11061
This commit is contained in:
Josh Cummings
2022-06-27 16:58:52 -06:00
parent 52d8e10ace
commit ee66850aed
5 changed files with 65 additions and 4 deletions

View File

@@ -48,8 +48,12 @@ import org.springframework.security.authentication.jaas.TestLoginModule;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.context.SecurityContextHolderStrategy;
import org.springframework.security.core.context.SecurityContextImpl;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
/**
* Tests the JaasApiIntegrationFilter.
@@ -189,6 +193,14 @@ public class JaasApiIntegrationFilterTests {
assertJaasSubjectEquals(new Subject());
}
@Test
public void doFilterUsesCustomSecurityContextHolderStrategy() throws Exception {
SecurityContextHolderStrategy strategy = mock(SecurityContextHolderStrategy.class);
given(strategy.getContext()).willReturn(new SecurityContextImpl(this.token));
this.filter.setSecurityContextHolderStrategy(strategy);
assertJaasSubjectEquals(this.authenticatedSubject);
}
private void assertJaasSubjectEquals(final Subject expectedValue) throws Exception {
MockFilterChain chain = new MockFilterChain() {
@Override