From 9890c8a80395ab43f2c36e7cc767c9acca1c531a Mon Sep 17 00:00:00 2001 From: Cristobal Bernal Mayordomo <90463533+Racriberny@users.noreply.github.com> Date: Fri, 10 Feb 2023 17:48:09 +0100 Subject: [PATCH] Prubas --- pom.xml | 5 ++++ .../foro/Entidades/UsersEntity.java | 15 ++++++++++++ .../foro/controlador/Controlador.java | 2 +- .../foro/seguridad/McvConfig.java | 18 -------------- .../foro/seguridad/SegurityConfig.java | 24 +++++++++---------- ...mUserDetails.java => UserDetailsImpl.java} | 7 +++--- ...rvice.java => UserDetailsServiceImpl.java} | 6 ++--- src/main/resources/templates/index.html | 6 ++--- src/main/resources/templates/login/login.html | 2 +- src/main/resources/templates/menu/menu.html | 3 ++- 10 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 src/main/java/com/cristobalbernal/foro/seguridad/McvConfig.java rename src/main/java/com/cristobalbernal/foro/seguridad/models/{CustomUserDetails.java => UserDetailsImpl.java} (82%) rename src/main/java/com/cristobalbernal/foro/seguridad/models/{CustomUserDetailService.java => UserDetailsServiceImpl.java} (82%) diff --git a/pom.xml b/pom.xml index 08f2cc7..24139a5 100644 --- a/pom.xml +++ b/pom.xml @@ -109,6 +109,11 @@ org.springframework.security spring-security-config + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + diff --git a/src/main/java/com/cristobalbernal/foro/Entidades/UsersEntity.java b/src/main/java/com/cristobalbernal/foro/Entidades/UsersEntity.java index 0bb5398..ccba2bd 100644 --- a/src/main/java/com/cristobalbernal/foro/Entidades/UsersEntity.java +++ b/src/main/java/com/cristobalbernal/foro/Entidades/UsersEntity.java @@ -34,6 +34,10 @@ public class UsersEntity { @Column(name = "tipoPrivilegios", nullable = true) private Byte tipoPrivilegios; + public UsersEntity() { + + } + public int getId() { return id; } @@ -140,4 +144,15 @@ public class UsersEntity { result = 31 * result + (tipoPrivilegios != null ? tipoPrivilegios.hashCode() : 0); return result; } + + public UsersEntity(String name, String firstname, String secondname, String password, String email, String username, String imgen, Byte tipoPrivilegios) { + this.name = name; + this.firstname = firstname; + this.secondname = secondname; + this.password = password; + this.email = email; + this.username = username; + this.imgen = imgen; + this.tipoPrivilegios = tipoPrivilegios; + } } diff --git a/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java b/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java index 3c1de52..891cdbb 100644 --- a/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java +++ b/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java @@ -65,7 +65,7 @@ public class Controlador { String encodedPassword = passwordEncoder.encode(user.getPassword()); user.setPassword(encodedPassword); iUsers.save(user); - return "index"; + return "redirect:/home"; } } diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/McvConfig.java b/src/main/java/com/cristobalbernal/foro/seguridad/McvConfig.java deleted file mode 100644 index 072941d..0000000 --- a/src/main/java/com/cristobalbernal/foro/seguridad/McvConfig.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.cristobalbernal.foro.seguridad; - -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@Configuration -public class McvConfig implements WebMvcConfigurer { - - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/").setViewName("index"); - registry.addViewController("").setViewName("index"); - registry.addViewController("/index").setViewName("index"); - registry.addViewController("/login").setViewName("login"); - } - -} - diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/SegurityConfig.java b/src/main/java/com/cristobalbernal/foro/seguridad/SegurityConfig.java index 0e652b3..acb5efc 100644 --- a/src/main/java/com/cristobalbernal/foro/seguridad/SegurityConfig.java +++ b/src/main/java/com/cristobalbernal/foro/seguridad/SegurityConfig.java @@ -1,23 +1,24 @@ package com.cristobalbernal.foro.seguridad; -import com.cristobalbernal.foro.seguridad.models.CustomUserDetailService; +import com.cristobalbernal.foro.seguridad.models.UserDetailsImpl; +import com.cristobalbernal.foro.seguridad.models.UserDetailsServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.LogoutConfigurer; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; @Configuration + @EnableWebSecurity public class SegurityConfig { @Bean - public CustomUserDetailService userDetailsService(){ - return new CustomUserDetailService(); + public UserDetailsServiceImpl userDetailsService(){ + return new UserDetailsServiceImpl(); } @Bean public PasswordEncoder passwordEncoder() { @@ -39,21 +40,20 @@ public class SegurityConfig { public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests() - .requestMatchers("/crearPregunta","/miperfil").authenticated() - .anyRequest().permitAll() + .requestMatchers("/crearPregunta","/miperfil").authenticated() + .anyRequest().permitAll() .and() .formLogin() - .usernameParameter("email") - .loginPage("/login") - .defaultSuccessUrl("/home") - .permitAll() + .usernameParameter("email") + .loginPage("/login") + .defaultSuccessUrl("/") //TODO: + .permitAll() .and() - .logout(LogoutConfigurer::permitAll); + .logout().logoutSuccessUrl("/").permitAll(); return http.build(); } - } diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetails.java b/src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsImpl.java similarity index 82% rename from src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetails.java rename to src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsImpl.java index daf91e5..1441d50 100644 --- a/src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetails.java +++ b/src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsImpl.java @@ -1,18 +1,17 @@ package com.cristobalbernal.foro.seguridad.models; import com.cristobalbernal.foro.Entidades.UsersEntity; -import org.springframework.context.annotation.Bean; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.util.Collection; -public class CustomUserDetails implements UserDetails { +public class UserDetailsImpl implements UserDetails { - private final UsersEntity user; + private UsersEntity user; - public CustomUserDetails(UsersEntity user) { + public UserDetailsImpl(UsersEntity user) { this.user = user; } diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetailService.java b/src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsServiceImpl.java similarity index 82% rename from src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetailService.java rename to src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsServiceImpl.java index b79a036..16a36d4 100644 --- a/src/main/java/com/cristobalbernal/foro/seguridad/models/CustomUserDetailService.java +++ b/src/main/java/com/cristobalbernal/foro/seguridad/models/UserDetailsServiceImpl.java @@ -7,9 +7,7 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import java.util.ArrayList; - -public class CustomUserDetailService implements UserDetailsService { +public class UserDetailsServiceImpl implements UserDetailsService { @Autowired private IUsers iUsers; @@ -17,7 +15,7 @@ public class CustomUserDetailService implements UserDetailsService { @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { UsersEntity users = iUsers.findByEmail(username); - return new CustomUserDetails(users); + return new UserDetailsImpl(users); } } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index b6d6466..5671489 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -1,5 +1,5 @@ - + @@ -18,7 +18,7 @@ -
+
@@ -213,7 +213,7 @@ - + \ No newline at end of file diff --git a/src/main/resources/templates/login/login.html b/src/main/resources/templates/login/login.html index ae6e91f..224b205 100644 --- a/src/main/resources/templates/login/login.html +++ b/src/main/resources/templates/login/login.html @@ -25,7 +25,7 @@
Log In
Hello there, Log In
- +
diff --git a/src/main/resources/templates/menu/menu.html b/src/main/resources/templates/menu/menu.html index 5b41ba5..cee5962 100644 --- a/src/main/resources/templates/menu/menu.html +++ b/src/main/resources/templates/menu/menu.html @@ -1,4 +1,4 @@ -