modificando el form login

This commit is contained in:
2025-09-25 19:54:57 +02:00
parent 2a40539496
commit 062a20c26a
6 changed files with 147 additions and 11 deletions

View File

@ -27,7 +27,7 @@ public class SecurityConfig {
.csrf(csrf -> csrf
.ignoringRequestMatchers("/presupuesto/public/**"))
.formLogin(login -> login
// .loginPage("/login") añadir cuando se tenga login personalizado
.loginPage("/login")
.permitAll())
.logout(logout -> logout.permitAll());

View File

@ -2,13 +2,15 @@ package com.imprimelibros.erp.login;
import java.util.Locale;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class LoginController {
@GetMapping("/login")
@GetMapping("/login")
public String index(Model model, Locale locale) {
return "imprimelibros/login/login";
return "imprimelibros/login/login";
}
}

View File

@ -12672,15 +12672,16 @@ span.flatpickr-weekday {
}
.auth-one-bg {
background-image: url("../images/auth-one-bg.jpg");
/*background-image: url("../images/auth-one-bg.jpg");*/
background-image: url("../images/img-auth.jpg");
background-position: center;
background-size: cover;
}
.auth-one-bg .bg-overlay {
/*.auth-one-bg .bg-overlay {
background: -webkit-gradient(linear, left top, right top, from(#4a62fe), to(#687cfe));
background: linear-gradient(to right, #4a62fe, #687cfe);
opacity: 0.9;
}
}*/
.shape {
position: absolute;
@ -12725,11 +12726,12 @@ span.flatpickr-weekday {
padding: 2px 16px;
}
.auth-bg-cover {
background: linear-gradient(-45deg, #432874 50%, #984c0c);
}
/*.auth-bg-cover {
/*background: linear-gradient(-45deg, #432874 50%, #984c0c);
}*/
.auth-bg-cover > .bg-overlay {
background-image: url("../images/cover-pattern.png");
/*background-image: url("../images/cover-pattern.png");*/
background-image: url("../images/cover-bg-login.png");
background-position: center;
background-size: cover;
opacity: 1;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 KiB

View File

@ -0,0 +1,132 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" lang="en"
data-layout="vertical" data-topbar="light" data-sidebar="dark" data-sidebar-size="lg" data-sidebar-image="none"
data-preloader="disable">
<head>
<!--page title-->
<!-- <div th:replace="partials/title-meta :: title-meta('Sign In')"></div> -->
<title>Login - ImprimeLibros</title>
<!-- Page CSS -->
<th:block th:replace="~{imprimelibros/partials/head-css :: head-css}" />
</head>
<body>
<div class="auth-page-wrapper auth-bg-cover py-5 d-flex justify-content-center align-items-center min-vh-100">
<div class="bg-overlay"></div>
<!-- auth-page content -->
<div class="auth-page-content overflow-hidden pt-lg-5">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="card overflow-hidden">
<div class="row g-0">
<div class="col-lg-6">
<div class="p-lg-5 p-4 auth-one-bg h-100">
<div class="bg-overlay"></div>
<div class="position-relative h-100 d-flex flex-column">
<div class="mt-auto">
<p class="fs-15 fst-italic text-center" style="color: lightgray;">imprimelibros.com <br>
Los especialistas en impresión de libros</p>
</div>
</div>
</div>
</div>
<!-- end col -->
<div class="col-lg-6">
<div class="p-lg-5 p-4">
<div>
<h5 class="text-primary">Bienvenido!</h5>
<p class="text-muted">Inicie sesión para continuar:</p>
</div>
<div class="mt-4">
<form th:action="@{/login}" method="post">
<!-- CSRF obligatorio -->
<input type="hidden" th:name="${_csrf.parameterName}"
th:value="${_csrf.token}" />
<div class="mb-3">
<label for="username" class="form-label">Usuario</label>
<input type="text" class="form-control" id="username"
placeholder="Enter username">
</div>
<div class="mb-3">
<div class="float-end">
<a href="/auth-pass-reset-cover" class="text-muted">¿Olvidó su contraseña?</a>
</div>
<label class="form-label" for="password-input">Contraseña</label>
<div class="position-relative auth-pass-inputgroup mb-3">
<input type="password" class="form-control pe-5 password-input"
placeholder="Enter password" id="password-input">
<button
class="btn btn-link position-absolute end-0 top-0 text-decoration-none text-muted password-addon"
type="button" id="password-addon"><i
class="ri-eye-fill align-middle"></i></button>
</div>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value=""
id="auth-remember-check">
<label class="form-check-label" for="auth-remember-check">Recuerdame</label>
</div>
<div class="mt-4">
<button class="btn btn-secondary w-100" type="submit">Iniciar
Sesión</button>
</div>
</form>
</div>
<div class="mt-5 text-center">
<p class="mb-0">¿No tienes una cuenta? <a href="/auth-signup-cover"
class="fw-semibold text-primary text-decoration-underline">
Regístrate</a> </p>
</div>
</div>
</div>
<!-- end col -->
</div>
<!-- end row -->
</div>
<!-- end card -->
</div>
<!-- end col -->
</div>
<!-- end row -->
</div>
<!-- end container -->
</div>
<!-- end auth page content -->
<!-- footer -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<p class="mb-0" style="color: #6c757d;">&copy;
<script>document.write(new Date().getFullYear())</script> imprimelibros.com
</p>
</div>
</div>
</div>
</div>
</footer>
<!-- end Footer -->
</div>
<th:block th:replace="~{theme/partials/vendor-scripts :: scripts}" />
<!-- password-addon init -->
<script src="/assets/js/pages/password-addon.init.js"></script>
</body>
</html>