[dfd5d87] | 1 | package finki.it.phoneluxbackend.security.configs;
|
---|
| 2 |
|
---|
| 3 | import finki.it.phoneluxbackend.services.UserService;
|
---|
| 4 | import lombok.AllArgsConstructor;
|
---|
| 5 | import org.springframework.context.annotation.Configuration;
|
---|
| 6 | import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
|
---|
| 7 | import org.springframework.security.config.annotation.SecurityBuilder;
|
---|
| 8 | import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
---|
| 9 | import org.springframework.security.config.annotation.web.WebSecurityConfigurer;
|
---|
| 10 | import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
---|
| 11 | import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
---|
| 12 | import org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration;
|
---|
| 13 | import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
---|
| 14 | import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer;
|
---|
| 15 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
---|
| 16 | import org.springframework.security.web.SecurityFilterChain;
|
---|
| 17 |
|
---|
| 18 | @Configuration
|
---|
| 19 | @AllArgsConstructor
|
---|
| 20 | @EnableWebSecurity
|
---|
| 21 | public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
---|
| 22 |
|
---|
| 23 | private final UserService userService;
|
---|
| 24 | private final BCryptPasswordEncoder bCryptPasswordEncoder;
|
---|
| 25 |
|
---|
| 26 | @Override
|
---|
| 27 | protected void configure(HttpSecurity http) throws Exception {
|
---|
| 28 | http
|
---|
| 29 | .csrf().disable()
|
---|
| 30 | .authorizeRequests()
|
---|
| 31 | .antMatchers("/registration/**")
|
---|
| 32 | .permitAll()
|
---|
| 33 | .anyRequest()
|
---|
| 34 | .authenticated().and()
|
---|
| 35 | .formLogin();
|
---|
| 36 |
|
---|
| 37 | }
|
---|
| 38 |
|
---|
| 39 | @Override
|
---|
| 40 | protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
---|
| 41 | auth.authenticationProvider(daoAuthenticationProvider());
|
---|
| 42 | }
|
---|
| 43 |
|
---|
| 44 |
|
---|
| 45 | public DaoAuthenticationProvider daoAuthenticationProvider(){
|
---|
| 46 | DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
|
---|
| 47 | provider.setPasswordEncoder(bCryptPasswordEncoder);
|
---|
| 48 | provider.setUserDetailsService(userService);
|
---|
| 49 | return provider;
|
---|
| 50 | }
|
---|
| 51 |
|
---|
| 52 | }
|
---|