public static FiltroUsuarioInfo ValidarCredencialesUsuario(string usuario, string contraseña) { var usuarioPL = new UsuarioPL(); FiltroUsuarioInfo filtroUsuario = usuarioPL.ValidarUsuarioCompleto(usuario.Trim(), contraseña); return(filtroUsuario); }
/// <summary> /// Método que valida un usuario en el active directory /// </summary> /// <param name="usuarioActiveDirectory"></param> /// <param name="contraseña"></param> /// <returns></returns> internal FiltroUsuarioInfo ValidarUsuarioCompleto(string usuarioActiveDirectory, string contraseña) { var filtroUsuario = new FiltroUsuarioInfo(); var usuarioInfo = new UsuarioInfo(); try { Logger.Info(); string contenedor = ConfigurationManager.AppSettings["Contenedor"]; string servidorActiveDirectory = ConfigurationManager.AppSettings["ServidorActiveDirectory"]; using (var context = new PrincipalContext(ContextType.Domain, servidorActiveDirectory, contenedor)) { bool credencialesValidas = context.ValidateCredentials(usuarioActiveDirectory, contraseña); if (credencialesValidas) { usuarioInfo = new UsuarioInfo { Nombre = usuarioActiveDirectory }; } else { filtroUsuario.Mensaje = ConstantesBL.MensajeUsuarioNoExiste; return(filtroUsuario); } } UsuarioInfo usuarioCompleto = ObtenerPorActiveDirectory(usuarioInfo.Nombre); if (usuarioCompleto == null) { filtroUsuario.Mensaje = ConstantesBL.MensajeUsuarioNoExisteSistema; return(filtroUsuario); } if (usuarioCompleto.Operador == null || usuarioCompleto.Operador.Rol == null || (usuarioCompleto.Operador.Rol.RolID != Roles.SupervisorPlantaAlimentos.GetHashCode())) { filtroUsuario.Mensaje = ConstantesBL.MensajeUsuarioRol; return(filtroUsuario); } filtroUsuario.Usuario = usuarioCompleto; filtroUsuario.Mensaje = "OK"; } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(filtroUsuario); }
public static FiltroUsuarioInfo VerificarUsuario(string usuario, string contrasenia) { try { var usuarioPL = new UsuarioPL(); FiltroUsuarioInfo usuarioActiveDirectory = usuarioPL.ValidarUsuarioCompleto(usuario.Trim(), contrasenia); return(usuarioActiveDirectory); } catch (Exception ex) { Logger.Error(ex); throw; } }