64 lines
1.7 KiB
Java
64 lines
1.7 KiB
Java
package es.tatvil.taiageweb.controlador;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
/**
|
|
* Controlador MVC que sirve las páginas principales del sitio a través de Thymeleaf.
|
|
*
|
|
* <p>Todas las rutas devuelven el nombre de la plantilla correspondiente en
|
|
* {@code src/main/resources/templates/}. Spring Security controla qué rutas
|
|
* son accesibles sin autenticación.</p>
|
|
*/
|
|
@Controller
|
|
public class WebController {
|
|
|
|
/**
|
|
* Página de inicio.
|
|
*
|
|
* @return nombre de la plantilla {@code index}
|
|
*/
|
|
@GetMapping({"/", "/inicio"})
|
|
public String inicio() { return "index"; }
|
|
|
|
/**
|
|
* Página de inicio de sesión.
|
|
*
|
|
* @return nombre de la plantilla {@code login}
|
|
*/
|
|
@GetMapping("/login")
|
|
public String login() { return "login"; }
|
|
|
|
/**
|
|
* Visor del temario del curso (requiere {@code ROLE_PAGADO} o {@code ROLE_ADMIN}).
|
|
*
|
|
* @return nombre de la plantilla {@code curso}
|
|
*/
|
|
@GetMapping("/curso")
|
|
public String curso() { return "curso"; }
|
|
|
|
/**
|
|
* Navegador de legislación; acceso público.
|
|
*
|
|
* @return nombre de la plantilla {@code leyes}
|
|
*/
|
|
@GetMapping("/leyes")
|
|
public String leyes() { return "leyes"; }
|
|
|
|
/**
|
|
* Agregador de noticias INAP/BOE; acceso público.
|
|
*
|
|
* @return nombre de la plantilla {@code noticias}
|
|
*/
|
|
@GetMapping("/noticias")
|
|
public String noticias() { return "noticias"; }
|
|
|
|
/**
|
|
* Página de acceso denegado (HTTP 403).
|
|
*
|
|
* @return nombre de la plantilla {@code acceso-denegado}
|
|
*/
|
|
@GetMapping("/acceso-denegado")
|
|
public String accesoDenegado() { return "acceso-denegado"; }
|
|
}
|