source: phonelux-backend/src/main/java/finki/it/phoneluxbackend/security/configs/WebSecurityConfig.java@ f25d07e

Last change on this file since f25d07e was f25d07e, checked in by Marko <Marko@…>, 22 months ago

Edited registration and login services

  • Property mode set to 100644
File size: 2.8 KB
Line 
1package finki.it.phoneluxbackend.security.configs;
2
3import finki.it.phoneluxbackend.security.CustomAuthenticationFilter;
4import finki.it.phoneluxbackend.security.CustomAuthorizationFilter;
5import finki.it.phoneluxbackend.services.UserService;
6import lombok.AllArgsConstructor;
7import org.springframework.context.annotation.Bean;
8import org.springframework.context.annotation.Configuration;
9import org.springframework.security.authentication.AuthenticationManager;
10import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
11import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
12import org.springframework.security.config.annotation.web.builders.HttpSecurity;
13import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
14import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
15import org.springframework.security.config.http.SessionCreationPolicy;
16import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
17import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
18
19import static org.springframework.http.HttpMethod.GET;
20
21@Configuration
22@AllArgsConstructor
23@EnableWebSecurity
24public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
25
26 private final UserService userService;
27 private final BCryptPasswordEncoder bCryptPasswordEncoder;
28
29 @Override
30 protected void configure(HttpSecurity http) throws Exception {
31// http
32// .csrf().disable()
33// .authorizeRequests()
34// .antMatchers("/registration/**")
35// .permitAll()
36// .anyRequest()
37// .authenticated().and()
38// .formLogin();
39
40 http.csrf().disable();
41 http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
42// http.authorizeRequests().antMatchers(GET,"/phones").hasAnyAuthority("USER");
43 http.authorizeRequests().anyRequest().permitAll();
44 http.addFilter(new CustomAuthenticationFilter(authenticationManagerBean()));
45 http.addFilterBefore(new CustomAuthorizationFilter(), UsernamePasswordAuthenticationFilter.class);
46
47 }
48
49 @Override
50 protected void configure(AuthenticationManagerBuilder auth) throws Exception {
51 auth.authenticationProvider(daoAuthenticationProvider());
52 }
53
54 @Bean
55 @Override
56 public AuthenticationManager authenticationManagerBean() throws Exception {
57 return super.authenticationManagerBean();
58 }
59
60 public DaoAuthenticationProvider daoAuthenticationProvider(){
61 DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
62 provider.setPasswordEncoder(bCryptPasswordEncoder);
63 provider.setUserDetailsService(userService);
64 return provider;
65 }
66
67}
Note: See TracBrowser for help on using the repository browser.