From 3be49a1c16bb4a291b3c7087b88ee780c174caf7 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Wed, 10 Apr 2024 09:19:51 -0500 Subject: [PATCH 1/7] Ajuste de sedes al crear usuarios y comentario de password en usuarioDTO --- .../MsUsuarios/Controllers/UsuariosController.cs | 11 +++++++++-- Microservicios/MsUsuarios/Dto/UsuarioDTO.cs | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 7cd7c97..bac410d 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -106,7 +106,8 @@ namespace MSAdminUsuarios.Controllers consulta = (from dm in _context.USUARIOSMs where dm.NU_ESTADO_USUMS >= 0 - select new UsuarioDTO(dm)).ToList(); + orderby dm.NU_PK_USUMS + select new UsuarioDTO(dm)).ToList(); return Ok(consulta); } @@ -214,7 +215,13 @@ namespace MSAdminUsuarios.Controllers Guid uuid = Guid.NewGuid(); var UUID = uuid.ToString(); usuario.TX_UUID_USUMS = UUID; - } + } + + // TODO: Validacion agregada mientras se aclara el proceso + if (usuario.TX_SEDES_USUMS == null || usuario.TX_SEDES_USUMS.Length == 0) + { + usuario.TX_SEDES_USUMS = "[0]"; + } _context.USUARIOSMs.Add(usuario); await _context.SaveChangesAsync(); diff --git a/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs b/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs index 71d37aa..a1b1c10 100644 --- a/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs +++ b/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs @@ -27,7 +27,7 @@ namespace MSAdminUsuarios.Dto public string? TX_CELULAR_USUMS { get; set; } public string? TX_CORREO_USUMS { get; set; } public int? NU_ESTADO_USUMS { get; set; } - public string? TX_PASSWORD_USUMS { get; set; } + //public string? TX_PASSWORD_USUMS { get; set; } public int? NU_TIPODOC_USUMS { get; set; } public int? NU_PK_USUMS { get; set; } public int? BL_PERTENCEIPS_USUMS { get; set; } From b2443079041e8211772f823fb3d4376fc5e207f6 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Thu, 11 Apr 2024 06:51:05 -0500 Subject: [PATCH 2/7] Ajuste Usuarios --- .../Controllers/UsuariosController.cs | 199 ++++++++++++++++++ .../MsUsuarios/Dto/PerfilPermisosDTO.cs | 10 + .../MsUsuarios/Dto/UsuarioPerfilesDTO.cs | 10 + 3 files changed, 219 insertions(+) create mode 100644 Microservicios/MsUsuarios/Dto/PerfilPermisosDTO.cs create mode 100644 Microservicios/MsUsuarios/Dto/UsuarioPerfilesDTO.cs diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index bac410d..098c71c 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -13,6 +13,7 @@ using System.Threading.Channels; using MSAdminUsuarios.Dto.Externos.MsAgendaMedica; using static MSAdminUsuarios.Utils.RabbitMQService; using MSAdminUsuarios.Utils; +using Microsoft.EntityFrameworkCore.Storage; namespace MSAdminUsuarios.Controllers { @@ -536,6 +537,204 @@ namespace MSAdminUsuarios.Controllers } } + [HttpPost("UsuarioPerfiles")] + public async Task PostUsuarioPerfiles(UsuarioPerfilesDTO nuevo) + { + ErrorModel _errorModel = new ErrorModel(); + using (var transaccion = _context.Database.BeginTransaction()) + { + try + { + if (nuevo == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin datos a guardar."); + return Conflict(_errorModel); + } + + transaccion.CreateSavepoint("InicioCreacionUsuarioPerfiles"); + + if (nuevo.usuario == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin usuario a guardar."); + return Conflict(_errorModel); + } + + if (nuevo.usuario.TX_CORREO_USUMS == null && nuevo.usuario.TX_LOGINNAME_USUMS == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Indique algún correo."); + return Conflict(_errorModel); + } + + if (nuevo.usuario.TX_UUID_USUMS == null) + { + Guid uuid = Guid.NewGuid(); + var UUID = uuid.ToString(); + nuevo.usuario.TX_UUID_USUMS = UUID; + + if (nuevo.usuario.TX_PASSWORD_USUMS != null) + { + nuevo.usuario.TX_PASSWORD_USUMS = _encript.EncryptPwd(nuevo.usuario.TX_PASSWORD_USUMS); + } + + if (nuevo.usuario.TX_SEDES_USUMS == null || nuevo.usuario.TX_SEDES_USUMS.Length == 0) + { + nuevo.usuario.TX_SEDES_USUMS = "[0]"; + } + + _context.USUARIOSMs.Add(nuevo.usuario); + await _context.SaveChangesAsync(); + + } + else + { + USUARIO? existe = _context.USUARIOSMs.FirstOrDefault(usu => usu.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS); + if (existe == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin usuario no existe."); + return Conflict(_errorModel); + } + + existe.NU_TIPODOC_USUMS = nuevo.usuario.NU_TIPODOC_USUMS; + existe.TX_PRIMERNOM_USUMS = nuevo.usuario.TX_PRIMERNOM_USUMS; + existe.TX_SEGUNDONOM_USUMS = nuevo.usuario.TX_SEGUNDONOM_USUMS; + existe.TX_PRIMERAPELL_USUMS = nuevo.usuario.TX_PRIMERAPELL_USUMS; + existe.TX_SEGUNDOAPELL_USUMS = nuevo.usuario.TX_SEGUNDOAPELL_USUMS; + existe.TX_CELULAR_USUMS = nuevo.usuario.TX_CELULAR_USUMS; + existe.TX_TELEFONO_USUMS = nuevo.usuario.TX_TELEFONO_USUMS; + existe.TX_CORREO_USUMS = nuevo.usuario.TX_CORREO_USUMS; + existe.TX_DIRECCION_USUMS = nuevo.usuario.TX_DIRECCION_USUMS; + existe.BL_PERTENCEIPS_USUMS = nuevo.usuario.BL_PERTENCEIPS_USUMS; + existe.TX_NOMBRE_PVD = nuevo.usuario.TX_NOMBRE_PVD; + existe.BL_VIENELDAP_USUMS = nuevo.usuario.BL_VIENELDAP_USUMS; + existe.NU_GRUPO_USUMS = nuevo.usuario.NU_GRUPO_USUMS; + existe.NU_CARGO_USUMS = nuevo.usuario.NU_CARGO_USUMS; + existe.NU_MODALIDADCTT_USUMS = nuevo.usuario.NU_MODALIDADCTT_USUMS; + existe.TX_SEDES_USUMS = nuevo.usuario.TX_SEDES_USUMS; + existe.NU_BLOQUEO_USUMS = nuevo.usuario.NU_BLOQUEO_USUMS; + existe.NU_TIPOUSUARIO_USUMS = nuevo.usuario.NU_TIPOUSUARIO_USUMS; + existe.TX_REGPROF_MDC = nuevo.usuario.TX_REGPROF_MDC; + + _context.USUARIOSMs.Update(existe); + _context.SaveChanges(); + + /* + "perfiles": [ + { + "nU_PK_PFLXUSU": 0, + "nU_FK_PFL": 81, + "bL_ESTADO_PFLXUSU": 1, + "tX_UUID_PFL": "78428e6f-1eeb-4b1c-a3c7-b95a9350d568" + } + ] + }*/ + } + + + + /*if (existe_login > 0) + { + _errorModel.error = true; + _errorModel.cuerpo.Add($"El login \"{nuevo.usuario.TX_LOGINNAME_USUMS}\" ya está en uso"); + return Conflict(_errorModel); + }*/ + + /*if (nuevo.usuario.TX_PKDOC_USUMS == null) + { + var ult = _context.USUARIOSMs.Max(x => x.NU_PK_USUMS) + 1; + nuevo.usuario.TX_PKDOC_USUMS = ult.ToString(); + }*/ + + + + // TODO: Validacion agregada mientras se aclara el proceso + + USUARIO? creado = await _context.USUARIOSMs.FirstOrDefaultAsync(us => us.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS); + + if (nuevo.perfiles != null) + { + var count = 0; + + // Se cambia a estado 0 todos los perfiles por usuario existentes + var existe_plfxusu = _context.PERFILESPORUSUARIOs.Where(x => x.BL_ESTADO_PFLXUSU == 1 && x.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS).ToList(); + + foreach (var cu in existe_plfxusu) + { + cu.BL_ESTADO_PFLXUSU = 0; + _context.PERFILESPORUSUARIOs.Update(cu); + await _context.SaveChangesAsync(); + } + + foreach (var pxu in nuevo.perfiles) + { + count++; + //Se comprueba existencia de cada pxu en base de datos + /*var existe_pxu = (from dm in _context.PERFILESPORUSUARIOs + where dm.TX_UUID_PFL == pxu.TX_UUID_PFL + && dm.TX_UUID_USUMS == pxu.TX_UUID_USUMS + select dm).ToList();*/ + PERFILPORUSUARIO? existe = _context.PERFILESPORUSUARIOs.FirstOrDefault(pu => pu.TX_UUID_PFL == pxu.TX_UUID_PFL && pu.TX_UUID_USUMS == pxu.TX_UUID_USUMS); + + if (existe != null) + { + //Si existe activamos estado 1 del perfil + existe.BL_ESTADO_PFLXUSU = 1; + _context.Update(existe); + await _context.SaveChangesAsync(); + continue; + } + else + { + if (pxu == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add($"Perfil por usuario #{count} sin valores"); + continue; + } + + pxu.BL_ESTADO_PFLXUSU = 1; + pxu.TX_UUID_USUMS = nuevo.usuario.TX_UUID_USUMS; + _context.PERFILESPORUSUARIOs.Add(pxu); + await _context.SaveChangesAsync(); + } + } + + List all = new List(); + + all.Add($"Total registros: {nuevo.perfiles.Count().ToString()}"); + all.Add($"Exitosos: {(nuevo.perfiles.Count() - _errorModel.cuerpo.Count()).ToString()}"); + all.Add($"Erroneos: {_errorModel.cuerpo.Count().ToString()}"); + + var flag_r = 0; + foreach (var r in _errorModel.cuerpo) + { + flag_r++; + all.Add($"Error #{flag_r}: {r}"); + } + + if (_errorModel.cuerpo.Count() > 0) + { + return Conflict(all.ToList()); + } + } + + transaccion.Commit(); + + _errorModel.error = false; + _errorModel.cuerpo.Add("Usuario creado correctamente"); + return Ok(_errorModel); + } + catch (Exception e) + { + transaccion.RollbackToSavepoint("InicioCreacionUsuarioPerfiles"); + return BadRequest(e.Message); + } + } + } + } } diff --git a/Microservicios/MsUsuarios/Dto/PerfilPermisosDTO.cs b/Microservicios/MsUsuarios/Dto/PerfilPermisosDTO.cs new file mode 100644 index 0000000..b7146eb --- /dev/null +++ b/Microservicios/MsUsuarios/Dto/PerfilPermisosDTO.cs @@ -0,0 +1,10 @@ +using MSAdminUsuarios.Context; + +namespace MSAdminUsuarios.Dto +{ + public class PerfilPermisosDTO + { + public PERFIL? perfil { get; set; } + public PERMISO[]? permisos { get; set; } + } +} diff --git a/Microservicios/MsUsuarios/Dto/UsuarioPerfilesDTO.cs b/Microservicios/MsUsuarios/Dto/UsuarioPerfilesDTO.cs new file mode 100644 index 0000000..7d65f2a --- /dev/null +++ b/Microservicios/MsUsuarios/Dto/UsuarioPerfilesDTO.cs @@ -0,0 +1,10 @@ +using MSAdminUsuarios.Context; + +namespace MSAdminUsuarios.Dto +{ + public class UsuarioPerfilesDTO + { + public USUARIO? usuario { get; set; } + public PERFILPORUSUARIO[]? perfiles { get; set; } + } +} From 33b9913d729f1ebac8e9e108b00ca1ff89f5f186 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Thu, 11 Apr 2024 10:50:46 -0500 Subject: [PATCH 3/7] Ajuste de perfiles --- .../Controllers/PerfilesController.cs | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/Microservicios/MsUsuarios/Controllers/PerfilesController.cs b/Microservicios/MsUsuarios/Controllers/PerfilesController.cs index 818856a..26f8c1d 100644 --- a/Microservicios/MsUsuarios/Controllers/PerfilesController.cs +++ b/Microservicios/MsUsuarios/Controllers/PerfilesController.cs @@ -1,5 +1,8 @@ using MSAdminUsuarios.Context; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using MSAdminUsuarios.Dto; +using MSAdminUsuarios.Models; namespace MSAdminUsuarios.Controllers { @@ -85,6 +88,116 @@ namespace MSAdminUsuarios.Controllers return BadRequest(ex.Message); } } + + [HttpPost("PerfilPermisos")] + public async Task PostPerfilPermisos(PerfilPermisosDTO nuevo) + { + ErrorModel _errorModel = new ErrorModel(); + using (var transaccion = _context.Database.BeginTransaction()) + { + try + { + if (nuevo == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin datos a guardar."); + return Conflict(_errorModel); + } + + transaccion.CreateSavepoint("InicioCreacionPerfilPermisos"); + + if (nuevo.perfil == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin perfil a guardar."); + return Conflict(_errorModel); + } + + if (nuevo.perfil.TX_UUID_PFL == null) + { + Guid uuid = Guid.NewGuid(); + var UUID = uuid.ToString(); + nuevo.perfil.TX_UUID_PFL = UUID; + + _context.PERFILESMs.Add(nuevo.perfil); + await _context.SaveChangesAsync(); + } + else + { + PERFIL? existe = _context.PERFILESMs.FirstOrDefault(prfl => prfl.TX_UUID_PFL == nuevo.perfil.TX_UUID_PFL); + if (existe == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("El perfil no existe."); + return Conflict(_errorModel); + } + + existe.TX_PERFIL_PFL = nuevo.perfil.TX_PERFIL_PFL; + existe.NU_ROL_PFL = nuevo.perfil.NU_ROL_PFL; + existe.BL_ESTADO_PFL = nuevo.perfil.BL_ESTADO_PFL; + + _context.PERFILESMs.Update(existe); + _context.SaveChanges(); + } + + // TODO: Validacion agregada mientras se aclara el proceso + + PERFIL? creado = await _context.PERFILESMs.FirstOrDefaultAsync(prfl => prfl.TX_UUID_PFL == nuevo.perfil.TX_UUID_PFL); + + if (nuevo.permisos != null) + { + // Se cambia a estado 0 todos los perfiles por usuario existentes + List permisos = _context.PERMISOSMs.Where(x => x.BL_ESTADO_PMS == 1 && x.NU_FK_PFL == creado.NU_PK_PFL).ToList(); + + foreach (var permiso in permisos) + { + permiso.BL_ESTADO_PMS = 0; + _context.PERMISOSMs.Update(permiso); + await _context.SaveChangesAsync(); + } + + foreach (var pxp in nuevo.permisos) + { + PERMISO? existe = _context.PERMISOSMs.FirstOrDefault(pm => pm.NU_FK_PFL == pxp.NU_FK_PFL && pm.NU_FK_MS == pxp.NU_FK_MS); + + if (existe != null) + { + //Si existe activamos estado 1 del perfil + existe.BL_ESTADO_PMS = 1; + _context.Update(existe); + await _context.SaveChangesAsync(); + continue; + } + else + { + if (pxp == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add($"Permiso sin valores"); + continue; + } + + pxp.BL_ESTADO_PMS = 1; + pxp.NU_FK_PFL = creado.NU_PK_PFL; + _context.PERMISOSMs.Add(pxp); + await _context.SaveChangesAsync(); + } + } + } + + transaccion.Commit(); + + _errorModel.error = false; + _errorModel.cuerpo.Add("Perfil creado correctamente"); + return Ok(_errorModel); + } + catch (Exception e) + { + transaccion.RollbackToSavepoint("InicioCreacionPerfilPermisos"); + return BadRequest(e.Message); + } + } + } } } From 73400f442b1e66403ab66e946e8f57d88ff92a96 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Fri, 12 Apr 2024 08:37:12 -0500 Subject: [PATCH 4/7] Ajuste Correos --- .../Controllers/CorreosAreaController.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Microservicios/MsUsuarios/Controllers/CorreosAreaController.cs b/Microservicios/MsUsuarios/Controllers/CorreosAreaController.cs index c44a273..ae94078 100644 --- a/Microservicios/MsUsuarios/Controllers/CorreosAreaController.cs +++ b/Microservicios/MsUsuarios/Controllers/CorreosAreaController.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MSAdminUsuarios.Context; +using MSAdminUsuarios.Models; using Security; namespace MSAdminUsuarios.Controllers @@ -32,13 +33,15 @@ namespace MSAdminUsuarios.Controllers [HttpPost] public IActionResult post([FromBody] CORREOSAREAMS nuevo) { - + ErrorModel _errorModel = new ErrorModel(); try { this._context.CORREOSAREAMS.Add(nuevo); this._context.SaveChanges(); - return Ok("Registro guardado correctamente."); + _errorModel.error = false; + _errorModel.cuerpo.Add("Registro guardado correctamente."); + return Ok(_errorModel); } catch (Exception ex) { @@ -49,7 +52,7 @@ namespace MSAdminUsuarios.Controllers [HttpPatch] public IActionResult patch([FromBody] CORREOSAREAMS actualizar) { - + ErrorModel _errorModel = new ErrorModel(); try { CORREOSAREAMS? existente = this._context.CORREOSAREAMS.FirstOrDefault(c => c.NU_PK_CRRMS == actualizar.NU_PK_CRRMS); @@ -58,9 +61,12 @@ namespace MSAdminUsuarios.Controllers this._context.Entry(existente).CurrentValues.SetValues(actualizar); this._context.SaveChanges(); - return Ok("Registro guardado correctamente."); + _errorModel.error = false; + _errorModel.cuerpo.Add("Registro actualizado correctamente."); + return Ok(_errorModel); - } catch (Exception ex) + } + catch (Exception ex) { return BadRequest(ex.Message); } From 31cc95847d773956450257dca4fe55c46136ed28 Mon Sep 17 00:00:00 2001 From: Jhonatan Pelae Magnoler Date: Tue, 16 Apr 2024 16:04:20 -0500 Subject: [PATCH 5/7] se agrega password el numero documento --- .../MsUsuarios/Controllers/UsuariosController.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 098c71c..9836c35 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -205,6 +205,10 @@ namespace MSAdminUsuarios.Controllers var ult = _context.USUARIOSMs.Max(x => x.NU_PK_USUMS) + 1; usuario.TX_PKDOC_USUMS = ult.ToString(); } + if(usuario.TX_PASSWORD_USUMS == null) + { + usuario.TX_PASSWORD_USUMS = usuario.TX_PKDOC_USUMS; + } if (usuario.TX_PASSWORD_USUMS != null) { @@ -574,6 +578,11 @@ namespace MSAdminUsuarios.Controllers var UUID = uuid.ToString(); nuevo.usuario.TX_UUID_USUMS = UUID; + if (nuevo.usuario.TX_PASSWORD_USUMS == null) + { + nuevo.usuario.TX_PASSWORD_USUMS = nuevo.usuario.TX_PKDOC_USUMS; + } + if (nuevo.usuario.TX_PASSWORD_USUMS != null) { nuevo.usuario.TX_PASSWORD_USUMS = _encript.EncryptPwd(nuevo.usuario.TX_PASSWORD_USUMS); From ab8282bd025c17a224a439707d4ec65783e61750 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Tue, 16 Apr 2024 16:14:53 -0500 Subject: [PATCH 6/7] Ajuste password en usuarioPerfiles --- Microservicios/MsUsuarios/Controllers/UsuariosController.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 9836c35..9d81341 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -627,6 +627,11 @@ namespace MSAdminUsuarios.Controllers existe.NU_TIPOUSUARIO_USUMS = nuevo.usuario.NU_TIPOUSUARIO_USUMS; existe.TX_REGPROF_MDC = nuevo.usuario.TX_REGPROF_MDC; + if (existe.TX_PASSWORD_USUMS == null || existe.TX_PASSWORD_USUMS == "") + { + existe.TX_PASSWORD_USUMS = _encript.EncryptPwd(nuevo.usuario.TX_PKDOC_USUMS!); + } + _context.USUARIOSMs.Update(existe); _context.SaveChanges(); From 80679eaf5724f729092ba29b9d1bc18122721043 Mon Sep 17 00:00:00 2001 From: "Dario F. Gomez Z" Date: Mon, 29 Apr 2024 09:51:35 -0500 Subject: [PATCH 7/7] Ajustes de creacion de usuario y log de login --- LdapLoginLib/LDAP.cs | 14 +++++--- LdapLoginLib/LdapLoginLib.csproj | 1 + .../MsUsuarios/Controllers/AuthController.cs | 12 +++++-- .../Controllers/UsuariosController.cs | 32 ++----------------- 4 files changed, 23 insertions(+), 36 deletions(-) diff --git a/LdapLoginLib/LDAP.cs b/LdapLoginLib/LDAP.cs index 4075501..3ce2a8d 100644 --- a/LdapLoginLib/LDAP.cs +++ b/LdapLoginLib/LDAP.cs @@ -1,5 +1,6 @@ using LdapLoginLib.Data; using LdapLoginLib.Models; +using Microsoft.Extensions.Logging; using System.DirectoryServices.Protocols; namespace LdapLoginLib @@ -7,11 +8,13 @@ namespace LdapLoginLib public class LDAP { private static readonly LdapConfig _ldap = new(); + private readonly ILogger _logger; - //public LDAP() - //{ - // _ldap = new LdapConfig(); - //} + public LDAP(ILogger logger) + { + _logger = logger; + //_ldap = new LdapConfig(); + } public bool Login(string password, string? document = null, string? username = null, string? email = null) { @@ -25,6 +28,8 @@ namespace LdapLoginLib username: username, email: email); + _logger.LogInformation("Ingreso: " + userInfo.NumeroDocumento + " - " + userInfo.Usuario + " - " + userInfo.Correo); + //Si el usuario está inactivo... if (userInfo.Activo == false) return false; @@ -42,6 +47,7 @@ namespace LdapLoginLib catch (LdapException ldapEx) { //Console.WriteLine($"Authentication failed: {ldapEx.Message}"); + _logger.LogError(ldapEx.ErrorCode + " // " + ldapEx.Message); throw new Exception(_getErrorMessage(ldapEx.ErrorCode, ldapEx.Message)); } catch diff --git a/LdapLoginLib/LdapLoginLib.csproj b/LdapLoginLib/LdapLoginLib.csproj index 46b6dcd..f9ab7a8 100644 --- a/LdapLoginLib/LdapLoginLib.csproj +++ b/LdapLoginLib/LdapLoginLib.csproj @@ -7,6 +7,7 @@ + diff --git a/Microservicios/MsUsuarios/Controllers/AuthController.cs b/Microservicios/MsUsuarios/Controllers/AuthController.cs index 0eac5a6..5697e12 100644 --- a/Microservicios/MsUsuarios/Controllers/AuthController.cs +++ b/Microservicios/MsUsuarios/Controllers/AuthController.cs @@ -17,11 +17,19 @@ namespace MSAdminUsuarios.Controllers { private readonly ModelContext _context; private readonly Encripter _encript = new(); - private readonly LDAP _ldap = new(); + private readonly LDAP _ldap; public AuthController(ModelContext context) { _context = context; + var loggerFactory = LoggerFactory.Create(builder => + { + builder.AddConsole(); + }); + + var logger = loggerFactory.CreateLogger(); + + _ldap = new LDAP(logger); } [HttpPost("Login")] @@ -29,7 +37,7 @@ namespace MSAdminUsuarios.Controllers { try { - if (!_encript.IsValid) return BadRequest("Lectura inv�lida"); + if (!_encript.IsValid) return BadRequest("Lectura inválida"); if (login.TX_LOGINNAME_USUMS == null) return BadRequest("Es necesario ingresar un usuario"); diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 9d81341..836e5c7 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -634,36 +634,8 @@ namespace MSAdminUsuarios.Controllers _context.USUARIOSMs.Update(existe); _context.SaveChanges(); - - /* - "perfiles": [ - { - "nU_PK_PFLXUSU": 0, - "nU_FK_PFL": 81, - "bL_ESTADO_PFLXUSU": 1, - "tX_UUID_PFL": "78428e6f-1eeb-4b1c-a3c7-b95a9350d568" - } - ] - }*/ } - - - /*if (existe_login > 0) - { - _errorModel.error = true; - _errorModel.cuerpo.Add($"El login \"{nuevo.usuario.TX_LOGINNAME_USUMS}\" ya está en uso"); - return Conflict(_errorModel); - }*/ - - /*if (nuevo.usuario.TX_PKDOC_USUMS == null) - { - var ult = _context.USUARIOSMs.Max(x => x.NU_PK_USUMS) + 1; - nuevo.usuario.TX_PKDOC_USUMS = ult.ToString(); - }*/ - - - // TODO: Validacion agregada mientras se aclara el proceso USUARIO? creado = await _context.USUARIOSMs.FirstOrDefaultAsync(us => us.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS); @@ -678,9 +650,9 @@ namespace MSAdminUsuarios.Controllers foreach (var cu in existe_plfxusu) { cu.BL_ESTADO_PFLXUSU = 0; - _context.PERFILESPORUSUARIOs.Update(cu); - await _context.SaveChangesAsync(); } + _context.PERFILESPORUSUARIOs.UpdateRange(existe_plfxusu); + await _context.SaveChangesAsync(); foreach (var pxu in nuevo.perfiles) {