33import org .springframework .context .annotation .Bean ;
44import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
55import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
6- import org .springframework .security .config .annotation .web .configuration .WebSecurityCustomizer ;
76import org .springframework .security .config .http .SessionCreationPolicy ;
87import org .springframework .security .core .userdetails .User ;
98import org .springframework .security .core .userdetails .UserDetails ;
1211
1312@ EnableWebSecurity
1413public class SecurityConfig {
14+ private static final String [] PERMITTED_PATTERNS = {
15+ "/api/swagger/**" ,
16+ "/api/swagger-ui/**" ,
17+ "/api/swagger-ui.html" ,
18+ "/api/swagger-ui-custom.html" ,
19+ "/webjars/**" ,
20+ "/api/swagger-resources/**" ,
21+ "/api/configuration/**" ,
22+ "/api/api-docs/**"
23+ };
24+
25+ private static final String COMMON_ROLE = "ROLE_USER" ;
26+ private static final String COMMON_PASSWORD = "{noop}secret" ;
27+
1528 @ Bean
1629 public SecurityFilterChain securityFilterChain (final HttpSecurity http ) throws Exception {
1730 http
1831 .csrf ().disable ()
19- .authorizeRequests ().anyRequest ().authenticated ()
32+ .authorizeRequests ()
33+ .antMatchers (PERMITTED_PATTERNS ).permitAll ()
34+ .anyRequest ().authenticated ()
2035 .and ()
2136 .httpBasic ()
2237 .and ()
@@ -29,35 +44,25 @@ public SecurityFilterChain securityFilterChain(final HttpSecurity http) throws E
2944 @ Bean
3045 public InMemoryUserDetailsManager userDetailsManager () {
3146 final UserDetails paul = User .withUsername ("paul" )
32- .password ("{noop}secret" )
33- .authorities ("ROLE_USER" )
47+ .password (COMMON_PASSWORD )
48+ .authorities (COMMON_ROLE )
3449 .build ();
3550
3651 final UserDetails john = User .withUsername ("john" )
37- .password ("{noop}secret" )
38- .authorities ("ROLE_USER" )
52+ .password (COMMON_PASSWORD )
53+ .authorities (COMMON_ROLE )
3954 .build ();
4055
4156 final UserDetails ringo = User .withUsername ("ringo" )
42- .password ("{noop}secret" )
43- .authorities ("ROLE_USER" )
57+ .password (COMMON_PASSWORD )
58+ .authorities (COMMON_ROLE )
4459 .build ();
4560
4661 final UserDetails george = User .withUsername ("george" )
47- .password ("{noop}secret" )
48- .authorities ("ROLE_USER" )
62+ .password (COMMON_PASSWORD )
63+ .authorities (COMMON_ROLE )
4964 .build ();
5065
5166 return new InMemoryUserDetailsManager (paul , john , ringo , george );
5267 }
53-
54- @ Bean
55- public WebSecurityCustomizer webSecurityCustomizer () {
56- return web -> web
57- .ignoring ()
58- .antMatchers ("/" )
59- .antMatchers ("/api/swagger/**”,”/api/swagger-ui/**”,”/api/swagger-ui.html”," +
60- "/api/swagger-ui-custom.html" , "/webjars/**" , "/api/swagger-resources/**" ,
61- "/api/configuration/**”, ”/api/api-docs/**" );
62- }
6368}
0 commit comments