Browse Source

Correcion del login que hace que no permita acceder y los devuelve al login

pull/3/head
mramirezg 4 months ago
parent
commit
94ca8c4034
4 changed files with 25 additions and 15 deletions
  1. +12
    -10
      src/main/java/mx/gob/jumapacelaya/api/SecurityConfig.java
  2. +4
    -0
      src/main/java/mx/gob/jumapacelaya/models/Journals.java
  3. +8
    -4
      src/main/java/mx/gob/jumapacelaya/services/UserService.java
  4. +1
    -1
      src/main/resources/application.properties

+ 12
- 10
src/main/java/mx/gob/jumapacelaya/api/SecurityConfig.java View File

@ -49,20 +49,22 @@ public class SecurityConfig extends VaadinWebSecurity {
)
.formLogin(formLogin -> formLogin
.loginPage("/login")
/*.successHandler((request, response, authentication) -> {
//String username = authentication.getName();
.successHandler((request, response, authentication) -> {
String username = authentication.getName();
log.debug("Configure:loginSuccess: {}", authentication.getName());
if (userService.getAuthenticatedRedmineUser() == null) {
log.debug("Configure:getAuthenticatedRedmineUser Error: {}", authentication.getName());
response.sendRedirect("/login");
} //else {
//response.sendRedirect("");
//}
})*/
var user = userService.getAuthenticatedRedmineUser();
log.debug("Authenticated user: {}", user);
if (user == null) {
log.warn("Usuario autenticado pero no encontrado en Redmine. Redirigiendo a página de error.");
response.sendRedirect("");
} else {
response.sendRedirect("");
}
})
.failureUrl("/login?error=true") // Corrigiendo la URL de fallo
);
super.configure(http);
setLoginView(http, LoginView.class);
}


+ 4
- 0
src/main/java/mx/gob/jumapacelaya/models/Journals.java View File

@ -0,0 +1,4 @@
package mx.gob.jumapacelaya.models;
public class Journals {
}

+ 8
- 4
src/main/java/mx/gob/jumapacelaya/services/UserService.java View File

@ -1,5 +1,7 @@
package mx.gob.jumapacelaya.services;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.notification.NotificationVariant;
import com.vaadin.flow.server.VaadinService;
import mx.gob.jumapacelaya.api.RedmineClient;
import mx.gob.jumapacelaya.api.SecurityService;
@ -39,8 +41,8 @@ public class UserService {
CustomUserDetails userDetails = ldapService.getUserDetails(username);
if (userDetails != null) {
if (userDetails.getEmail() == null || userDetails.getEmail().isEmpty()) {
logger.error("El usuario: " + username + " no tiene correo electronico.");
return null;
logger.warn("El usuario {} no tiene correo electrónico. Asignando uno por defecto.", username);
userDetails.setEmail(username + "@jumapacelaya.gob.mx"); // Asigna un correo por defecto
}
RedmineUser newUser = RedmineClient.createRedmineUser(
username,
@ -48,6 +50,7 @@ public class UserService {
userDetails.getLastName(),
userDetails.getEmail()
);
if (newUser != null) {
logger.info("Usuario creado en Redmine: " + newUser);
return newUser;
@ -89,8 +92,9 @@ public class UserService {
}
}
}else{
logger.error("No se pudo obtener al usuario autenticado en Redmine");
securityService.logout();
logger.error("No se pudo obtener al usuario autenticado en Redmine. Permitiendo acceso limitado");
Notification.show("No se pudo obtener al usuario autenticado en Redmine. Permitiendo acceso limitado")
.addThemeVariants(NotificationVariant.LUMO_WARNING);
}
}
return userclient;


+ 1
- 1
src/main/resources/application.properties View File

@ -34,4 +34,4 @@ spring.servlet.multipart.max-request-size=10MB
##############TIEMPO DE DURACION DE LA SESION#################
server.servlet.session.timeout=30m
vaadin.session.expiration=30m
server.servlet.session.cookie.secure=true

Loading…
Cancel
Save