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; private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
@Override @Override
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(auth -> auth http.authorizeHttpRequests(auth -> auth
@ -32,7 +36,6 @@ public class SecurityConfig extends VaadinWebSecurity {
.requestMatchers( .requestMatchers(
AntPathRequestMatcher.antMatcher(HttpMethod.GET, "/login*") AntPathRequestMatcher.antMatcher(HttpMethod.GET, "/login*")
).permitAll() ).permitAll()
) )
.formLogin(formLogin -> formLogin .formLogin(formLogin -> formLogin
.loginPage("/login") .loginPage("/login")
@ -40,18 +43,17 @@ public class SecurityConfig extends VaadinWebSecurity {
String username = authentication.getName(); String username = authentication.getName();
if (userService.getAuthenticatedRedmineUser() == null) { if (userService.getAuthenticatedRedmineUser() == null) {
response.sendRedirect("/login"); response.sendRedirect("/login");
}else {
} else {
response.sendRedirect(""); response.sendRedirect("");
} }
}) })
.failureUrl("/login ")
.failureUrl("/login?error=true") // Corrigiendo la URL de fallo
); );
super.configure(http); super.configure(http);
setLoginView(http, LoginView.class); setLoginView(http, LoginView.class);
} }
@Autowired @Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception { public void configure(AuthenticationManagerBuilder auth) throws Exception {
ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("JUMAPACELAYA.GOB.MX", "ldap://172.16.0.1"); ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("JUMAPACELAYA.GOB.MX", "ldap://172.16.0.1");
@ -60,11 +62,6 @@ public class SecurityConfig extends VaadinWebSecurity {
auth.authenticationProvider(provider); auth.authenticationProvider(provider);
} }
/*@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}*/
@Value("${spring.ldap.urls}") @Value("${spring.ldap.urls}")
private String ldapUrls; private String ldapUrls;
@ -74,7 +71,6 @@ public class SecurityConfig extends VaadinWebSecurity {
@Value("${spring.ldap.password}") @Value("${spring.ldap.password}")
private String ldapPassword; private String ldapPassword;
@Bean @Bean
public LdapContextSource ldapContextSource() { public LdapContextSource ldapContextSource() {
LdapContextSource contextSource = new LdapContextSource(); LdapContextSource contextSource = new LdapContextSource();
@ -86,8 +82,4 @@ public class SecurityConfig extends VaadinWebSecurity {
contextSource.setReferral("follow"); contextSource.setReferral("follow");
return contextSource; 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 com.vaadin.flow.server.auth.AnonymousAllowed;
import mx.gob.jumapacelaya.api.RedmineClient; import mx.gob.jumapacelaya.api.RedmineClient;
import mx.gob.jumapacelaya.services.UserService; import mx.gob.jumapacelaya.services.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Route("login") @Route("login")
@PageTitle("Login") @PageTitle("Login")
@AnonymousAllowed @AnonymousAllowed
public class LoginView extends VerticalLayout implements BeforeEnterObserver { 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) { public LoginView(UserService userService, RedmineClient redmineClient) {
@ -34,14 +37,10 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
mainLayout.setPadding(false); mainLayout.setPadding(false);
mainLayout.setMargin(false); mainLayout.setMargin(false);
// Configuración de la imagen // Configuración de la imagen
Image logo = new Image("images/1024x768.png", "Logo JUMAPA ISO"); Image logo = new Image("images/1024x768.png", "Logo JUMAPA ISO");
//logo.setWidth("900px");
//logo.setHeight("633px");
logo.addClassName("login-logo"); logo.addClassName("login-logo");
// Configuración de i18n para el formulario de login // Configuración de i18n para el formulario de login
LoginI18n i18n = LoginI18n.createDefault(); LoginI18n i18n = LoginI18n.createDefault();
LoginI18n.Form i18nFormulario = i18n.getForm(); LoginI18n.Form i18nFormulario = i18n.getForm();
@ -54,23 +53,22 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
// Configuración de los mensajes de error // Configuración de los mensajes de error
LoginI18n.ErrorMessage i18nError = i18n.getErrorMessage(); LoginI18n.ErrorMessage i18nError = i18n.getErrorMessage();
i18nError.setTitle("Credenciales incorrectas"); 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.setErrorMessage(i18nError);
i18n.setAdditionalInformation("Versión 1.2.2");
// Configuración del formulario de login // 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 // Crear un contenedor para el formulario
VerticalLayout loginFormContainer = new VerticalLayout(); VerticalLayout loginFormContainer = new VerticalLayout();
Image imageLogin = new Image("images/NVO_JUMAPA.png", "Login"); Image imageLogin = new Image("images/NVO_JUMAPA.png", "Login");
imageLogin.setWidth("300px"); imageLogin.setWidth("300px");
loginFormContainer.add(imageLogin); loginFormContainer.add(imageLogin);
loginFormContainer.addClassName("login-form-container");
loginFormContainer.add(formularioLogin);
loginFormContainer.add(login);
loginFormContainer.setSizeUndefined(); loginFormContainer.setSizeUndefined();
loginFormContainer.setPadding(false); loginFormContainer.setPadding(false);
loginFormContainer.setMargin(false); loginFormContainer.setMargin(false);
@ -78,13 +76,11 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
loginFormContainer.setJustifyContentMode(JustifyContentMode.CENTER); loginFormContainer.setJustifyContentMode(JustifyContentMode.CENTER);
loginFormContainer.getElement().getThemeList().add("dark"); loginFormContainer.getElement().getThemeList().add("dark");
// Añadir la imagen y el contenedor del formulario al layout principal // Añadir la imagen y el contenedor del formulario al layout principal
mainLayout.add(loginFormContainer, logo); mainLayout.add(loginFormContainer, logo);
mainLayout.setFlexGrow(1, loginFormContainer); mainLayout.setFlexGrow(1, loginFormContainer);
mainLayout.setFlexGrow(2, logo); mainLayout.setFlexGrow(2, logo);
// Añadir el layout principal a la vista // Añadir el layout principal a la vista
add(mainLayout); add(mainLayout);
} }
@ -92,8 +88,11 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver {
@Override @Override
public void beforeEnter(BeforeEnterEvent beforeEnterEvent) { public void beforeEnter(BeforeEnterEvent beforeEnterEvent) {
// Mostrar el mensaje de error si hay un parámetro de error en la URL // 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