77import org .springframework .context .annotation .Bean ;
88import org .springframework .context .annotation .Configuration ;
99import org .springframework .security .authentication .AuthenticationManager ;
10- import org .springframework .security .config .annotation .authentication .builders .AuthenticationManagerBuilder ;
10+ import org .springframework .security .authentication .dao .DaoAuthenticationProvider ;
11+ //import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
12+ import org .springframework .security .config .annotation .authentication .configuration .AuthenticationConfiguration ;
1113import org .springframework .security .config .annotation .method .configuration .EnableGlobalMethodSecurity ;
1214import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
13- import org .springframework .security .config .annotation .web .configuration .EnableWebSecurity ;
14- import org .springframework .security .config .annotation .web .configuration .WebSecurityConfigurerAdapter ;
15+ // import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
16+ // import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
1517import org .springframework .security .config .http .SessionCreationPolicy ;
1618import org .springframework .security .crypto .bcrypt .BCryptPasswordEncoder ;
1719import org .springframework .security .crypto .password .PasswordEncoder ;
20+ import org .springframework .security .web .SecurityFilterChain ;
1821import org .springframework .security .web .authentication .UsernamePasswordAuthenticationFilter ;
1922
2023@ RequiredArgsConstructor
2124@ Configuration
22- @ EnableWebSecurity
2325@ EnableGlobalMethodSecurity (
24- // securedEnabled = true,
25- // jsr250Enabled = true,
26- prePostEnabled = true )
27- public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
26+ // securedEnabled = true,
27+ // jsr250Enabled = true,
28+ prePostEnabled = true )
29+ public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
30+ @ Autowired
31+ UserDetailsServiceImpl userDetailsService ;
2832
2933 private final UserDetailsServiceImpl userDetailsService ;
3034
@@ -35,31 +39,63 @@ public AuthTokenFilter authenticationJwtTokenFilter() {
3539 return new AuthTokenFilter ();
3640 }
3741
38- @ Override
39- public void configure (AuthenticationManagerBuilder authenticationManagerBuilder ) throws Exception {
40- authenticationManagerBuilder .userDetailsService (userDetailsService ).passwordEncoder (passwordEncoder ());
41- }
42+ // @Override
43+ // public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
44+ // authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
45+ // }
46+
47+ @ Bean
48+ public DaoAuthenticationProvider authenticationProvider () {
49+ DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider ();
50+
51+ authProvider .setUserDetailsService (userDetailsService );
52+ authProvider .setPasswordEncoder (passwordEncoder ());
53+
54+ return authProvider ;
55+ }
4256
43- @ Bean
44- @ Override
45- public AuthenticationManager authenticationManagerBean () throws Exception {
46- return super .authenticationManagerBean ();
47- }
57+ // @Bean
58+ // @Override
59+ // public AuthenticationManager authenticationManagerBean() throws Exception {
60+ // return super.authenticationManagerBean();
61+ // }
62+
63+ @ Bean
64+ public AuthenticationManager authenticationManager (AuthenticationConfiguration authConfig ) throws Exception {
65+ return authConfig .getAuthenticationManager ();
66+ }
4867
4968 @ Bean
5069 public PasswordEncoder passwordEncoder () {
5170 return new BCryptPasswordEncoder ();
5271 }
5372
54- @ Override
55- protected void configure (HttpSecurity http ) throws Exception {
56- http .cors ().and ().csrf ().disable ()
57- .exceptionHandling ().authenticationEntryPoint (unauthorizedHandler ).and ()
58- .sessionManagement ().sessionCreationPolicy (SessionCreationPolicy .STATELESS ).and ()
59- .authorizeRequests ().antMatchers ("/api/auth/**" ).permitAll ()
60- .antMatchers ("/api/test/**" ).permitAll ()
61- .anyRequest ().authenticated ();
73+ // @Override
74+ // protected void configure(HttpSecurity http) throws Exception {
75+ // http.cors().and().csrf().disable()
76+ // .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
77+ // .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
78+ // .authorizeRequests().antMatchers("/api/auth/**").permitAll()
79+ // .antMatchers("/api/test/**").permitAll()
80+ // .anyRequest().authenticated();
81+ //
82+ // http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
83+ // }
84+
85+ @ Bean
86+ public SecurityFilterChain filterChain (HttpSecurity http ) throws Exception {
87+ http .cors ().and ().csrf ().disable ()
88+ .exceptionHandling ().authenticationEntryPoint (unauthorizedHandler ).and ()
89+ .sessionManagement ().sessionCreationPolicy (SessionCreationPolicy .STATELESS ).and ()
90+ .authorizeRequests ().antMatchers ("/api/auth/**" ).permitAll ()
91+ .antMatchers ("/api/test/**" ).permitAll ()
92+ .anyRequest ().authenticated ();
93+
94+ http .authenticationProvider (authenticationProvider ());
95+
96+ http .addFilterBefore (authenticationJwtTokenFilter (), UsernamePasswordAuthenticationFilter .class );
97+
98+ return http .build ();
99+ }
62100
63- http .addFilterBefore (authenticationJwtTokenFilter (), UsernamePasswordAuthenticationFilter .class );
64- }
65101}
0 commit comments