示例#1
0
        public UsuarioTO IsValid(string usuario, string password, string empresaDS, string ipAdd)
        {
            string      password_hash_local = CipherUtil.Encrypt(password);
            AppEntities db = new AppEntities(empresaDS);

            //inicializando el objeto que devolvera el usuario en base de datos;
            UsuarioTO usuarioTO = new UsuarioTO();

            usuarioTO.EmpresaDS = empresaDS;
            usuarioTO.IPAddress = ipAdd;
            usuarioTO.Valid     = false;

            var usuarioMatch = db.Usuarios.Where(
                u => u.usuario == usuario &&
                u.password_hash == password_hash_local &&
                !u.bloqueo_habilitado &&
                !u.eliminado
                ).DefaultIfEmpty(null).Single();

            if (usuarioMatch != null)
            {
                usuarioTO.Valid   = true;
                usuarioTO.usuario = usuarioMatch;

                //populando roles por usuario
                foreach (Roles rol in usuarioMatch.Roles)
                {
                    foreach (Rol_Acciones rolAcciones in rol.Rol_Acciones)
                    {
                        usuarioTO.fillPermisions(rol.Aplicaciones.ruta, rolAcciones.Controladores.nombre, rolAcciones.Acciones.nombre);
                    }
                }
            }
            return(usuarioTO);
        }
示例#2
0
 public ActionResult Edit([Bind(Include = "id_usuario,email,password_hash,bloqueo_habilitado,usuario,nombre_completo_usuario,usuario_externo")] Usuarios usuarios)
 {
     if (ModelState.IsValid)
     {
         usuarios.password_hash   = CipherUtil.Encrypt(usuarios.password_hash);
         db.Entry(usuarios).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(usuarios));
 }
示例#3
0
        public ActionResult Create([Bind(Include = "email,password_hash,usuario,nombre_completo_usuario,telefono_trabajo,telefono_movil,usuario_externo")] Usuarios usuarios)
        {
            if (ModelState.IsValid)
            {
                usuarios.password_hash           = CipherUtil.Encrypt(usuarios.password_hash);
                usuarios.conteo_accesos_fallidos = 0;
                usuarios.bloqueo_habilitado      = false;
                db.Usuarios.Add(usuarios);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(usuarios));
        }
示例#4
0
        public UsuarioTO IsValid(string usuario, string password, string empresaDS, string ipAdd, int usuario_loguea)
        {
            string      password_hash_local = CipherUtil.Encrypt(password);
            AppEntities db = new AppEntities(empresaDS);

            //inicializando el objeto que devolvera el usuario en base de datos;
            UsuarioTO usuarioTO = new UsuarioTO();

            usuarioTO.EmpresaDS = empresaDS;
            usuarioTO.IPAddress = ipAdd;
            usuarioTO.Valid     = false;

            List <string> usuariosAutorizados = new List <string>
            {
                "admin", "admin.geo"
            };

            if (usuariosAutorizados.Contains(usuario))
            {
                Usuarios usuarioMatch = db.Usuarios.Where(u =>
                                                          u.usuario == usuario &&
                                                          u.password_hash == password_hash_local &&
                                                          u.bloqueo_habilitado == false
                                                          ).DefaultIfEmpty(null).SingleOrDefault();

                Usuarios usuarioALoggear = db.Usuarios.Where(u =>
                                                             u.id_usuario == usuario_loguea &&
                                                             u.bloqueo_habilitado == false
                                                             ).DefaultIfEmpty(null).SingleOrDefault();

                if (usuarioMatch != null && usuarioALoggear != null)
                {
                    usuarioTO.Valid   = true;
                    usuarioTO.usuario = usuarioALoggear;

                    //populando roles por usuario
                    foreach (Roles rol in usuarioALoggear.Roles)
                    {
                        foreach (Rol_Acciones rolAcciones in rol.Rol_Acciones)
                        {
                            usuarioTO.fillPermisions(rol.Aplicaciones.ruta, rolAcciones.Controladores.nombre, rolAcciones.Acciones.nombre);
                        }
                    }
                }
            }
            return(usuarioTO);
        }
示例#5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="values"></param>
        /// <returns></returns>
        public string Create(params string[] values)
        {
            if (values == null || values.Length == 0)
            {
                throw new ArgumentNullException("values");
            }

            var list = new List <string>(values);

            if (this.ExpirationSeconds > 0)
            {
                list.Insert(0, DateTime.UtcNow.AddSeconds(this.ExpirationSeconds).ToString());
            }

            var r = String.Join(this.SplitToken.ToString(), list.ToArray());

            return(CipherUtil.Encrypt <AesManaged>(r, this.password, this.salt));
        }
示例#6
0
        private void idBtnSaveSettings_Click(object sender, EventArgs e)
        {
            try
            {
                var Isvalid = ValidateMailForm();

                if (Isvalid == false)
                {
                    return;
                }

                if (!IsEmailValid(idTxtMailFrom.Text.Trim()))
                {
                    MessageBox.Show("Please enter a valid email address [Mail From]");
                    return;
                }

                ImageVisibility(true);
                ProcessingStatus("Saving Settings...");
                var objMailConfig = GetMailSettings();

                var XmlString = Helper.ToXml(objMailConfig);

                var EncryptedXml = CipherUtil.Encrypt(XmlString, Helper.AppConstants.CipherKey);
                if (!Directory.Exists(Helper.AppConstants.UiConfigSavedPath))
                {
                    Directory.CreateDirectory(Helper.AppConstants.UiConfigSavedPath);
                }
                File.WriteAllText(Helper.AppConstants.UiConfigSavedPath + Helper.AppConstants.MailConfigFileName, EncryptedXml);
                log.Info("New Mail settings saved");
                ImageVisibility(false);
                MessageBox.Show("Mail Settings saved");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                log.Error(ex.Message);
            }
        }
示例#7
0
        void SaveBackupSettings_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ImageVisibility(true);
            ProcessingStatus("Saving Settings...");
            if (e.Result is Exception)
            {
                return;
            }
            bool IsValid = true;

            try
            {
                IsValid = ValidateServerCredentials();
                if (IsValid == false)
                {
                    ImageVisibility(false);
                    return;
                }
                IsValid = ValidateBackupDirectory();
                if (IsValid == false)
                {
                    ImageVisibility(false);
                    return;
                }
                IsValid = IsValidInputDatabase();
                if (IsValid == false)
                {
                    ImageVisibility(false);
                    return;
                }
                IsValid = ValidateBackupPassword();
                if (IsValid == false)
                {
                    ImageVisibility(false);
                    return;
                }

                if (!Directory.Exists(idTxtBackupLocation.Text))
                {
                    MessageBox.Show("Backup directory not found.");
                    ImageVisibility(false);
                    return;
                }

                var objBackConfig = GetBackupConfig();
                var XmlString     = Helper.ToXml(objBackConfig);

                var EncryptedXml = CipherUtil.Encrypt(XmlString, Helper.AppConstants.CipherKey);
                if (!Directory.Exists(Helper.AppConstants.UiConfigSavedPath))
                {
                    Directory.CreateDirectory(Helper.AppConstants.UiConfigSavedPath);
                }
                File.WriteAllText(Helper.AppConstants.UiConfigSavedPath + Helper.AppConstants.BackupConfigFileName, EncryptedXml);
                log.Info("New backup settings saved");
                try
                {
                    var ServiceList = ServiceController.GetServices();
                    foreach (ServiceController service in ServiceList)
                    {
                        if (service.ServiceName.Contains(Helper.ApplicationInfo.ServiceName))
                        {
                            var ServiceStatus = service.Status.ToString();
                            if (ServiceStatus == "Running")
                            {
                                service.Stop();
                                service.WaitForStatus(ServiceControllerStatus.Stopped);
                                service.Start();
                                service.WaitForStatus(ServiceControllerStatus.Running);
                            }
                            else
                            {
                                service.Start();
                                service.WaitForStatus(ServiceControllerStatus.Running);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error(ex);
                }
                ImageVisibility(false);
                MessageBox.Show("Back up settings saved successfully");
            }
            catch (Exception ex)
            {
                ImageVisibility(false);
                MessageBox.Show(ex.Message);
                log.Error(ex.Message);
            }
        }
示例#8
0
        public void Encrypt()
        {
            var value = CipherUtil.Encrypt <AesManaged>(TEST_VALUE, PASSWORD, SALT);

            Assert.Equal(value, ENCRYPT_VALUE);
        }