WebSecurityConfig.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. *
  3. */
  4. package es.uv.garcosda.config;
  5. import java.util.Arrays;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  9. import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
  10. import org.springframework.security.core.userdetails.User;
  11. import org.springframework.security.core.userdetails.UserDetailsService;
  12. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  13. import org.springframework.security.crypto.password.PasswordEncoder;
  14. import org.springframework.security.provisioning.InMemoryUserDetailsManager;
  15. import org.springframework.security.web.SecurityFilterChain;
  16. @Configuration
  17. @EnableWebSecurity
  18. public class WebSecurityConfig {
  19. @Bean
  20. public PasswordEncoder passwordEncoder() {
  21. return new BCryptPasswordEncoder();
  22. }
  23. @Bean
  24. public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
  25. http.authorizeHttpRequests()
  26. .requestMatchers("/").permitAll()
  27. .requestMatchers("/resources/**", "/webjars/**","/dist/**").permitAll()
  28. .anyRequest().authenticated()
  29. .and()
  30. .formLogin();
  31. return http.build();
  32. }
  33. @Bean
  34. public UserDetailsService userDetailsService() {
  35. return new InMemoryUserDetailsManager(Arrays.asList(
  36. User.withUsername("user")
  37. .password(passwordEncoder().encode("1234"))
  38. .roles("USER")
  39. .build(),
  40. User.withUsername("admin")
  41. .password(passwordEncoder().encode("1234"))
  42. .roles("USER")
  43. .build()));
  44. }
  45. }