All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 36s
74 lines
2.9 KiB
Java
74 lines
2.9 KiB
Java
package io.gmss.fiscad.configuration;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
import io.gmss.fiscad.security.CustomUserDetailsService;
|
|
import io.gmss.fiscad.security.JwtAuthenticationFilter;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.modelmapper.ModelMapper;
|
|
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
import org.springframework.security.authentication.AuthenticationProvider;
|
|
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
|
|
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
|
@RequiredArgsConstructor
|
|
@Configuration
|
|
public class ApplicationConfig {
|
|
|
|
private final CustomUserDetailsService customUserDetailsService;
|
|
private final UserDetailsService userDetailsService;
|
|
|
|
@Bean
|
|
public AuthenticationProvider authenticationProvider() {
|
|
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
|
|
authProvider.setUserDetailsService(customUserDetailsService);
|
|
authProvider.setPasswordEncoder(passwordEncoder());
|
|
return authProvider;
|
|
}
|
|
|
|
@Bean
|
|
public PasswordEncoder passwordEncoder() {
|
|
return new BCryptPasswordEncoder();
|
|
}
|
|
|
|
@Bean
|
|
public JwtAuthenticationFilter jwtAuthenticationFilter() {
|
|
return new JwtAuthenticationFilter();
|
|
}
|
|
|
|
// @Bean
|
|
// public AuthenticationManager authenticationManager(AuthenticationConfiguration config) throws Exception {
|
|
// return config.getAuthenticationManager();
|
|
// }
|
|
|
|
@Bean
|
|
public ModelMapper modelMapper() {
|
|
return new ModelMapper();
|
|
}
|
|
|
|
@Bean
|
|
public AuthenticationManager authenticationManager(HttpSecurity http) throws Exception {
|
|
DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider();
|
|
daoAuthenticationProvider.setUserDetailsService(customUserDetailsService);
|
|
daoAuthenticationProvider.setPasswordEncoder(passwordEncoder());
|
|
|
|
AuthenticationManagerBuilder authenticationManagerBuilder =
|
|
http.getSharedObject(AuthenticationManagerBuilder.class);
|
|
|
|
authenticationManagerBuilder.authenticationProvider(daoAuthenticationProvider);
|
|
|
|
return authenticationManagerBuilder.build();
|
|
}
|
|
|
|
|
|
|
|
}
|