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