diff --git a/pom.xml b/pom.xml
index be1615d..b9f5a77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,9 +59,6 @@
6.2.0
-
-
-
org.springframework.boot
spring-boot-devtools
@@ -73,6 +70,17 @@
spring-boot-starter-test
test
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+ org.springframework.security
+ spring-security-test
+ test
+
+
+
diff --git a/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java b/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java
index 89816a5..f9e0bc9 100644
--- a/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java
+++ b/src/main/java/com/cristobalbernal/foro/controlador/Controlador.java
@@ -15,15 +15,12 @@ public class Controlador {
@Autowired
private ServicioRespuestas servicioRespuestas;
- @GetMapping({"/entrar/{usuario}", "/entrar", "/usuario/{usuario}", "/usuario"})
- public String login(@PathVariable(name = "usuario", required = false) String usuario,
- Model model) throws MalformedURLException {
- model.addAttribute("titulo", "Panel de control");
- model.addAttribute("usuario", usuario);
- return "admin/login";
+ @GetMapping("/miperfil")
+ public String login(){
+ return "login/login";
}
- @GetMapping("/home")
+ @GetMapping({"","/home","/"})
public String indice(Model model){
model.addAttribute("listaRespuestas",servicioRespuestas.findAll());
return "index";
diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/ConfigSeguridad.java b/src/main/java/com/cristobalbernal/foro/seguridad/ConfigSeguridad.java
new file mode 100644
index 0000000..49814f6
--- /dev/null
+++ b/src/main/java/com/cristobalbernal/foro/seguridad/ConfigSeguridad.java
@@ -0,0 +1,44 @@
+package com.cristobalbernal.foro.seguridad;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+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.core.userdetails.User;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.provisioning.InMemoryUserDetailsManager;
+import org.springframework.security.web.SecurityFilterChain;
+
+@Configuration
+@EnableWebSecurity
+public class ConfigSeguridad {
+ @Bean
+ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+ http
+ .authorizeHttpRequests((requests) -> requests
+ .requestMatchers("","/home","/","/registrar","/css/**","/image/**","/fonts/**","js/**","/postdetall").permitAll()
+ .anyRequest().authenticated()
+ )
+ .formLogin((form) -> form
+ .loginPage("/login")
+ .permitAll()
+ )
+ .logout(LogoutConfigurer::permitAll);
+
+ return http.build();
+ }
+
+ @Bean
+ public UserDetailsService userDetailsService() {
+ UserDetails user =
+ User.withDefaultPasswordEncoder()
+ .username("tobal")
+ .password("1234")
+ .roles("USER")
+ .build();
+
+ return new InMemoryUserDetailsManager(user);
+ }
+}
diff --git a/src/main/java/com/cristobalbernal/foro/seguridad/MvcConfig.java b/src/main/java/com/cristobalbernal/foro/seguridad/MvcConfig.java
new file mode 100644
index 0000000..4167e58
--- /dev/null
+++ b/src/main/java/com/cristobalbernal/foro/seguridad/MvcConfig.java
@@ -0,0 +1,17 @@
+package com.cristobalbernal.foro.seguridad;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ViewControllerRegistration;
+import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class MvcConfig implements WebMvcConfigurer {
+ @Override
+ public void addViewControllers(ViewControllerRegistry registration){
+ registration.addViewController("/").setViewName("inicio");
+ registration.addViewController("/crearPregunta").setViewName("crearPregunta");
+ registration.addViewController("/login").setViewName("login");
+
+ }
+}
diff --git a/src/main/resources/templates/admin/login.html b/src/main/resources/templates/login/login.html
similarity index 86%
rename from src/main/resources/templates/admin/login.html
rename to src/main/resources/templates/login/login.html
index b030432..f003375 100644
--- a/src/main/resources/templates/admin/login.html
+++ b/src/main/resources/templates/login/login.html
@@ -24,17 +24,15 @@
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 1e60fd6..5b41ba5 100644
--- a/src/main/resources/templates/menu/menu.html
+++ b/src/main/resources/templates/menu/menu.html
@@ -13,7 +13,7 @@