Skip to content

Commit 58387a8

Browse files
committed
(step2) httpSecurity - SecurityContextConfigurer를 이용한 SecurityContextHolderFilter 등록
1 parent 96849c6 commit 58387a8

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

src/main/java/nextstep/security/config/annotation/web/builders/HttpSecurity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import nextstep.security.config.annotation.web.configurers.CsrfConfigurer;
1010
import nextstep.security.config.annotation.web.configurers.FormLoginConfigurer;
1111
import nextstep.security.config.annotation.web.configurers.HttpBasicConfigurer;
12+
import nextstep.security.config.annotation.web.configurers.SecurityContextConfigurer;
1213

1314
import java.util.*;
1415

@@ -67,6 +68,11 @@ public HttpSecurity authorizeHttpRequests() {
6768
return this;
6869
}
6970

71+
public HttpSecurity securityContext(Customizer<SecurityContextConfigurer> securityContextCustomizer) {
72+
securityContextCustomizer.customize(getOrApply(new SecurityContextConfigurer()));
73+
return this;
74+
}
75+
7076
public void addFilter(Filter filter) {
7177
this.filters.add(filter);
7278
}

src/main/java/nextstep/security/config/annotation/web/configuration/HttpSecurityConfiguration.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package nextstep.security.config.annotation.web.configuration;
22

33
import nextstep.security.authentication.AuthenticationManager;
4+
import nextstep.security.config.Customizer;
45
import nextstep.security.config.annotation.web.builders.HttpSecurity;
56
import org.springframework.context.annotation.Bean;
67
import org.springframework.context.annotation.Configuration;
@@ -10,6 +11,11 @@ public class HttpSecurityConfiguration {
1011

1112
@Bean
1213
HttpSecurity httpSecurity(AuthenticationManager authenticationManager) {
13-
return new HttpSecurity(authenticationManager);
14+
HttpSecurity http = new HttpSecurity(authenticationManager);
15+
16+
http
17+
.securityContext(Customizer.withDefaults());
18+
19+
return http;
1420
}
1521
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package nextstep.security.config.annotation.web.configurers;
2+
3+
import nextstep.security.config.annotation.web.SecurityConfigurer;
4+
import nextstep.security.config.annotation.web.builders.HttpSecurity;
5+
import nextstep.security.context.SecurityContextHolderFilter;
6+
7+
public class SecurityContextConfigurer implements SecurityConfigurer {
8+
9+
@Override
10+
public void init(HttpSecurity http) {
11+
}
12+
13+
@Override
14+
public void configure(HttpSecurity http) {
15+
SecurityContextHolderFilter filter = new SecurityContextHolderFilter();
16+
http.addFilter(filter);
17+
}
18+
}

0 commit comments

Comments
 (0)