Browse Source

Se arreglo el error de que no mostraba los mensajes de error cuando el usuario se equivocaba en sus credenciales de acceso

pull/1/head
parent
commit
3c7e52552a
3 changed files with 22 additions and 31 deletions
  1. BIN
      src/main/bundles/prod.bundle
  2. +6
    -14
      src/main/java/mx/gob/jumapacelaya/api/SecurityConfig.java
  3. +16
    -17
      src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java

BIN
src/main/bundles/prod.bundle View File


+ 6
- 14
src/main/java/mx/gob/jumapacelaya/api/SecurityConfig.java View File

@ -22,6 +22,10 @@ public class SecurityConfig extends VaadinWebSecurity {
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(auth -> auth
@ -32,7 +36,6 @@ public class SecurityConfig extends VaadinWebSecurity {
.requestMatchers(
AntPathRequestMatcher.antMatcher(HttpMethod.GET, "/login*")
).permitAll()
)
.formLogin(formLogin -> formLogin
.loginPage("/login")
@ -40,18 +43,17 @@ public class SecurityConfig extends VaadinWebSecurity {
String username = authentication.getName();
if (userService.getAuthenticatedRedmineUser() == null) {
response.sendRedirect("/login");
}else {
} else {
response.sendRedirect("");
}
})
.failureUrl("/login ")
.failureUrl("/login?error=true") // Corrigiendo la URL de fallo
);
super.configure(http);
setLoginView(http, LoginView.class);
}
@Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception {
ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("JUMAPACELAYA.GOB.MX", "ldap://172.16.0.1");
@ -60,11 +62,6 @@ public class SecurityConfig extends VaadinWebSecurity {
auth.authenticationProvider(provider);
}
/*@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}*/
@Value("${spring.ldap.urls}")
private String ldapUrls;
@ -74,7 +71,6 @@ public class SecurityConfig extends VaadinWebSecurity {
@Value("${spring.ldap.password}")
private String ldapPassword;
@Bean
public LdapContextSource ldapContextSource() {
LdapContextSource contextSource = new LdapContextSource();
@ -86,8 +82,4 @@ public class SecurityConfig extends VaadinWebSecurity {
contextSource.setReferral("follow");
return contextSource;
}
}

+ 16
- 17
src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java View File

@ -12,13 +12,16 @@ import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.auth.AnonymousAllowed;
import mx.gob.jumapacelaya.api.RedmineClient;
import mx.gob.jumapacelaya.services.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Route("login")
@PageTitle("Login")
@AnonymousAllowed
public class LoginView extends VerticalLayout implements BeforeEnterObserver {
private final LoginForm formularioLogin;
private static final Logger log = LoggerFactory.getLogger(LoginView.class);
private final LoginForm login = new LoginForm();
public LoginView(UserService userService, RedmineClient redmineClient) {
@ -34,14 +37,10 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
mainLayout.setPadding(false);
mainLayout.setMargin(false);
// Configuración de la imagen
Image logo = new Image("images/1024x768.png", "Logo JUMAPA ISO");
//logo.setWidth("900px");
//logo.setHeight("633px");
logo.addClassName("login-logo");
// Configuración de i18n para el formulario de login
LoginI18n i18n = LoginI18n.createDefault();
LoginI18n.Form i18nFormulario = i18n.getForm();
@ -54,23 +53,22 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
// Configuración de los mensajes de error
LoginI18n.ErrorMessage i18nError = i18n.getErrorMessage();
i18nError.setTitle("Credenciales incorrectas");
i18nError.setMessage("El usuario o la contraseña son incorrectos, verifica tus credenciales.");
i18n.setAdditionalInformation("Versión 1.2.2");
i18nError.setMessage("Usuario o contraseña incorrectos, verifica tus credenciales");
i18n.setErrorMessage(i18nError);
i18n.setAdditionalInformation("Versión 1.2.2");
// Configuración del formulario de login
formularioLogin = new LoginForm();
formularioLogin.setAction("login");
formularioLogin.setForgotPasswordButtonVisible(false);
formularioLogin.setI18n(i18n);
login.setAction("login");
login.setForgotPasswordButtonVisible(false);
login.setI18n(i18n);
// Crear un contenedor para el formulario
VerticalLayout loginFormContainer = new VerticalLayout();
Image imageLogin = new Image("images/NVO_JUMAPA.png", "Login");
imageLogin.setWidth("300px");
loginFormContainer.add(imageLogin);
loginFormContainer.addClassName("login-form-container");
loginFormContainer.add(formularioLogin);
loginFormContainer.add(login);
loginFormContainer.setSizeUndefined();
loginFormContainer.setPadding(false);
loginFormContainer.setMargin(false);
@ -78,13 +76,11 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
loginFormContainer.setJustifyContentMode(JustifyContentMode.CENTER);
loginFormContainer.getElement().getThemeList().add("dark");
// Añadir la imagen y el contenedor del formulario al layout principal
mainLayout.add(loginFormContainer, logo);
mainLayout.setFlexGrow(1, loginFormContainer);
mainLayout.setFlexGrow(2, logo);
// Añadir el layout principal a la vista
add(mainLayout);
}
@ -92,8 +88,11 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
@Override
public void beforeEnter(BeforeEnterEvent beforeEnterEvent) {
// Mostrar el mensaje de error si hay un parámetro de error en la URL
if (beforeEnterEvent.getLocation().getQueryParameters().getParameters().containsKey("error")) {
formularioLogin.setError(true);
if (beforeEnterEvent.getLocation()
.getQueryParameters()
.getParameters()
.containsKey("error")) {
login.setError(true);
}
}
}

Loading…
Cancel
Save