示例#1
0
        public ActionResult Registration(Models.UserModelRegister user)
        {
            if (ModelState.IsValid)
            {
                using (var db = new ApplicationDB())
                {
                    JGA_PGS_USR userLog = db.JGA_PGS_USR.SingleOrDefault(x => x.USR_EMAIL == User.Identity.Name);

                    if ((userLog.USR_SUPERUSR == 1))
                    {
                        List<JGA_PGS_USR> usuarios = db.JGA_PGS_USR.ToList();
                        foreach (var item in usuarios)
                        {
                            if (item.USR_EMAIL == user.Email)
                            {
                                ModelState.AddModelError("", "Esta direcciónde correo actualmente se encuentra ocupada por otro usuario.");
                            }
                            else
                            {
                                var crypto = new SimpleCrypto.PBKDF2();
                                var encrpPass = crypto.Compute(user.Password);
                                var sysUser = db.JGA_PGS_USR.Create();

                                sysUser.USR_CODEMP = userLog.USR_CODEMP;
                                sysUser.USR_SUPERUSR = 0;
                                sysUser.USR_NAME = user.Name;
                                sysUser.USR_TEL = user.Phone;
                                sysUser.USR_EMAIL = user.Email;
                                sysUser.USR_PASSWORD = encrpPass;
                                sysUser.USR_PASSWORDSALT = crypto.Salt;
                                sysUser.EMP_ESTADO = 1;

                                db.JGA_PGS_USR.Add(sysUser);
                                db.SaveChanges();
                                return RedirectToAction("Index", "Home");
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Usted no tiene los derechos administrativos necesarios para crear un usuario.");
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "Credenciales incorrectas.");
            }
            return View();
        }
示例#2
0
 //Método que verifica si la contraseña del usuario es valida para ingresar al sistema.
 private bool IsValid(string email, string password)
 {
     var crypto = new SimpleCrypto.PBKDF2();
     bool isValid = false;
     using (var db = new ApplicationDB())
     {
         var user = db.JGA_PGS_USR.FirstOrDefault(u => u.USR_EMAIL == email);
         if (user != null)
         {
             if ((user.USR_PASSWORD == password))
             {
                 isValid = true;
             }
             else if (user.USR_PASSWORD == crypto.Compute(password, user.USR_PASSWORDSALT))
             {
                 isValid = true;
             }
         }
     }
     return isValid;
 }