Beispiel #1
0
        public static FiltroUsuarioInfo ValidarCredencialesUsuario(string usuario, string contraseña)
        {
            var usuarioPL = new UsuarioPL();
            FiltroUsuarioInfo filtroUsuario = usuarioPL.ValidarUsuarioCompleto(usuario.Trim(), contraseña);

            return(filtroUsuario);
        }
Beispiel #2
0
        /// <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;
     }
 }