44import org .springframework .context .annotation .Bean ;
55import org .springframework .context .annotation .Configuration ;
66import org .springframework .security .authentication .AuthenticationManager ;
7- import org .springframework .security .config .annotation .authentication .builders .AuthenticationManagerBuilder ;
7+ import org .springframework .security .authentication .dao .DaoAuthenticationProvider ;
8+ //import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
9+ import org .springframework .security .config .annotation .authentication .configuration .AuthenticationConfiguration ;
810import org .springframework .security .config .annotation .method .configuration .EnableGlobalMethodSecurity ;
911import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
10- import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
11- import org .springframework .security .config .annotation .web .configuration .WebSecurityConfigurerAdapter ;
12+ // import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
13+ // import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
1214import org .springframework .security .config .http .SessionCreationPolicy ;
1315import org .springframework .security .crypto .bcrypt .BCryptPasswordEncoder ;
1416import org .springframework .security .crypto .password .PasswordEncoder ;
17+ import org .springframework .security .web .SecurityFilterChain ;
1518import org .springframework .security .web .authentication .UsernamePasswordAuthenticationFilter ;
1619
1720import com .bezkoder .springjwt .security .jwt .AuthEntryPointJwt ;
1821import com .bezkoder .springjwt .security .jwt .AuthTokenFilter ;
1922import com .bezkoder .springjwt .security .services .UserDetailsServiceImpl ;
2023
2124@ Configuration
22- @ EnableWebSecurity
2325@ EnableGlobalMethodSecurity (
2426 // securedEnabled = true,
2527 // jsr250Enabled = true,
2628 prePostEnabled = true )
27- public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
29+ public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
2830 @ Autowired
2931 UserDetailsServiceImpl userDetailsService ;
3032
@@ -36,31 +38,62 @@ public AuthTokenFilter authenticationJwtTokenFilter() {
3638 return new AuthTokenFilter ();
3739 }
3840
39- @ Override
40- public void configure (AuthenticationManagerBuilder authenticationManagerBuilder ) throws Exception {
41- authenticationManagerBuilder .userDetailsService (userDetailsService ).passwordEncoder (passwordEncoder ());
41+ // @Override
42+ // public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
43+ // authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
44+ // }
45+
46+ @ Bean
47+ public DaoAuthenticationProvider authenticationProvider () {
48+ DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider ();
49+
50+ authProvider .setUserDetailsService (userDetailsService );
51+ authProvider .setPasswordEncoder (passwordEncoder ());
52+
53+ return authProvider ;
4254 }
4355
56+ // @Bean
57+ // @Override
58+ // public AuthenticationManager authenticationManagerBean() throws Exception {
59+ // return super.authenticationManagerBean();
60+ // }
61+
4462 @ Bean
45- @ Override
46- public AuthenticationManager authenticationManagerBean () throws Exception {
47- return super .authenticationManagerBean ();
63+ public AuthenticationManager authenticationManager (AuthenticationConfiguration authConfig ) throws Exception {
64+ return authConfig .getAuthenticationManager ();
4865 }
4966
5067 @ Bean
5168 public PasswordEncoder passwordEncoder () {
5269 return new BCryptPasswordEncoder ();
5370 }
5471
55- @ Override
56- protected void configure (HttpSecurity http ) throws Exception {
72+ // @Override
73+ // protected void configure(HttpSecurity http) throws Exception {
74+ // http.cors().and().csrf().disable()
75+ // .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
76+ // .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
77+ // .authorizeRequests().antMatchers("/api/auth/**").permitAll()
78+ // .antMatchers("/api/test/**").permitAll()
79+ // .anyRequest().authenticated();
80+ //
81+ // http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
82+ // }
83+
84+ @ Bean
85+ public SecurityFilterChain filterChain (HttpSecurity http ) throws Exception {
5786 http .cors ().and ().csrf ().disable ()
58- .exceptionHandling ().authenticationEntryPoint (unauthorizedHandler ).and ()
59- .sessionManagement ().sessionCreationPolicy (SessionCreationPolicy .STATELESS ).and ()
60- .authorizeRequests ().antMatchers ("/api/auth/**" ).permitAll ()
61- .antMatchers ("/api/test/**" ).permitAll ()
62- .anyRequest ().authenticated ();
87+ .exceptionHandling ().authenticationEntryPoint (unauthorizedHandler ).and ()
88+ .sessionManagement ().sessionCreationPolicy (SessionCreationPolicy .STATELESS ).and ()
89+ .authorizeRequests ().antMatchers ("/api/auth/**" ).permitAll ()
90+ .antMatchers ("/api/test/**" ).permitAll ()
91+ .anyRequest ().authenticated ();
92+
93+ http .authenticationProvider (authenticationProvider ());
6394
6495 http .addFilterBefore (authenticationJwtTokenFilter (), UsernamePasswordAuthenticationFilter .class );
96+
97+ return http .build ();
6598 }
6699}
0 commit comments