No modo de desenvolvimento eu rodo minha aplicação com vue-cli no front na porta 3000 e redireciono para a porta 8080 que é onde meu spring boot roda; Nesse método roda tudo normal e tbm consigo fazer requisições normais com o insomnia.
![](print do insomnia](https://cdn1.gnarususercontent.com.br/1/4155945/9979d596-d107-4cb6-82be-f8ce573b51f5.png) )
Porém quando vai para a produção não consigo acessar meu arquivos statitos da parte do front que me permitem fazer o login e tudo o mais O login deveria ser feito por esse endereco http://localhost:8080/login ou http://localhost:8080 somente que ele redireciona pra pagina de login quando vê que nao tem token; Até tenho uma versão da aplicação em produção que eu tava estudando conf de servidor antes de colocar o springboot e estava acessando normalmente.
qual conf eu preciso incluir aqui para liberar o acesso aos arquivos html da pasta resources/static?
link do repo onde estou trabalhando https://github.com/jonasroder/microbiome-lab-ufu/tree/login
quando eu uso esse código aqui liberando tudo. eu volto a conseguir acessar a aplicação em modo de produção pelo navegador
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
.csrf(csrf -> csrf.disable())
.authorizeHttpRequests(authorize -> authorize
.requestMatchers("/**").permitAll()
)
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.build();
}
obs (Muitos dos métodos aprensentados na aula não deram certo para mim pq a versão do meu sprin-security é 6.1.5, aí fui adapatando e olhando outros materias.)
@Configuration
@EnableWebSecurity
public class SecurityConfiguration {
@Autowired
SecurityFilter securityFilter;
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
return httpSecurity
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
.csrf(csrf -> csrf.disable())
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(authorize->authorize
.requestMatchers(HttpMethod.POST, "/api/authenticate/login").permitAll()
.requestMatchers(HttpMethod.POST, "/api/authenticate/register").permitAll()
//.requestMatchers(HttpMethod.POST, "/product").hasRole("ROLE_ADMIN")
.anyRequest().authenticated()
)
.addFilterBefore(securityFilter, UsernamePasswordAuthenticationFilter.class)
.build();
}
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOriginPatterns(List.of("http://localhost:[*]", "https://*.saudeemequilibrioufu.com.br"));
configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"));
configuration.setAllowedHeaders(List.of("*"));
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
@Bean
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception{
return authenticationConfiguration.getAuthenticationManager();
}
@Bean
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
}
Desde já agradeço