1616import org .springframework .core .env .Environment ;
1717import org .springframework .security .authentication .AuthenticationProvider ;
1818import org .springframework .security .authentication .dao .DaoAuthenticationProvider ;
19+ import org .springframework .security .config .Customizer ;
1920import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
2021import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
22+ import org .springframework .security .config .annotation .web .configurers .AbstractHttpConfigurer ;
2123import org .springframework .security .core .userdetails .User ;
2224import org .springframework .security .core .userdetails .UserDetails ;
2325import org .springframework .security .core .userdetails .UserDetailsService ;
@@ -88,19 +90,26 @@ public AuthenticationTokenFilter authenticationTokenFilter() {
8890 public SecurityFilterChain filterChain (HttpSecurity security , TokenGateway tokenGateway , SecurityLoginHandler loginHandler ,
8991 CodingApiSecurityProperties properties , AuthenticationTokenFilter authenticationTokenFilter ) throws Exception {
9092 //disable basic auth
91- security .httpBasic (). disable ( );
93+ security .httpBasic (AbstractHttpConfigurer :: disable );
9294
9395 //before add addCorsMappings to enable cors.
94- security .cors ();
95- if (properties .isDisableCsrf ()) {
96- security .csrf ().disable ();
97- }
98- security .apply (new HttpSecurityConfigurer (tokenGateway , loginHandler , properties , authenticationTokenFilter ));
99- security
100- .exceptionHandling ()
101- .authenticationEntryPoint (new MyUnAuthenticationEntryPoint ())
102- .accessDeniedHandler (new MyAccessDeniedHandler ())
103- .and ()
96+ security .cors (httpSecurityCorsConfigurer -> {
97+ if (properties .isDisableCors ()) {
98+ httpSecurityCorsConfigurer .disable ();
99+ }
100+ });
101+
102+ security .csrf (httpSecurityCsrfConfigurer -> {
103+ if (properties .isDisableCsrf ()) {
104+ httpSecurityCsrfConfigurer .disable ();
105+ }
106+ });
107+
108+
109+ security .with (new HttpSecurityConfigurer (tokenGateway , loginHandler , properties , authenticationTokenFilter ), Customizer .withDefaults ());
110+ security .exceptionHandling (httpSecurityExceptionHandlingConfigurer ->
111+ httpSecurityExceptionHandlingConfigurer .authenticationEntryPoint (new MyUnAuthenticationEntryPoint ())
112+ .accessDeniedHandler (new MyAccessDeniedHandler ()))
104113 .authorizeHttpRequests (
105114 registry -> {
106115 registry .requestMatchers (properties .getIgnoreUrls ()).permitAll ()
@@ -109,15 +118,13 @@ public SecurityFilterChain filterChain(HttpSecurity security, TokenGateway token
109118 }
110119 )
111120 //default login url :/login
112- .formLogin ()
113- .loginProcessingUrl (properties .getLoginProcessingUrl ())
114- .permitAll ()
115- .and ()
121+ .formLogin (httpSecurityFormLoginConfigurer ->
122+ httpSecurityFormLoginConfigurer .loginPage (properties .getLoginProcessingUrl ())
123+ )
116124 //default logout url :/logout
117- .logout ()
118- .logoutUrl (properties .getLogoutUrl ())
119- .addLogoutHandler (new MyLogoutHandler ())
120- .logoutSuccessHandler (new MyLogoutSuccessHandler ());
125+ .logout (httpSecurityLogoutConfigurer -> httpSecurityLogoutConfigurer .logoutUrl (properties .getLogoutUrl ())
126+ .addLogoutHandler (new MyLogoutHandler ())
127+ .logoutSuccessHandler (new MyLogoutSuccessHandler ()));
121128
122129 return security .build ();
123130 }
0 commit comments