/// <summary>
        /// Método que comprueba y cambia las contraseñas del usuario actual
        /// </summary>
        /// <returns></returns>
        public IActionResult SetNewPassword()
        {
            var actualUser         = isLogged.GetActualUser();
            var actualPassword     = SecurityConversor.Md5Calculator(Request.Form["Password"].ToString().ToLower());
            var newPassword        = SecurityConversor.Md5Calculator(Request.Form["NewPassword"].ToString().ToLower());
            var confirmNewPassword = SecurityConversor.Md5Calculator(Request.Form["ConfirmPassword"].ToString().ToLower());


            if (actualUser.Password != actualPassword)
            {
                TempData["InfoPass"] = "******";
            }
            else
            {
                if (newPassword.Equals(confirmNewPassword))
                {
                    actualUser.Password = newPassword;
                    context.Security.Update(actualUser);
                    context.SaveChanges();

                    TempData["InfoPass"] = "******";
                }
                else
                {
                    TempData["InfoPass"] = "******";
                }
            }

            return(RedirectToAction("ChangePassword"));
        }
예제 #2
0
        public IActionResult LoginControl()
        {
            var InputUser           = SecurityConversor.Md5Calculator(Request.Form["User"]);
            var InputPassword       = SecurityConversor.Md5Calculator(Request.Form["Password"]);
            var securityContextList = securityContext.Security.ToList();

            if (securityContextList.Exists(x => x.User_Name == InputUser && x.Password == InputPassword))
            {
                //instancia singleton de login
                userLogged = UserLogged.GetInstance(InputUser);

                //inserción de datos de loging en la tabla correspondiente
                logginTime.NewUserLogin(GetUserIdLogged());

                if (!IsUserLogged())
                {
                    return(RedirectToAction("Login", "Security"));
                }

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                TempData["ErrorLogin"] = "******";
                return(RedirectToAction("Login", "Security"));
            }
        }
예제 #3
0
        public IActionResult SendEMail()
        {
            string user              = Request.Form["user"];
            string inputUserMdf      = SecurityConversor.Md5Calculator(user);
            string email             = Request.Form["UserMail"];
            var    existUser         = securityContext.Security.Where(x => x.User_Name == inputUserMdf && x.Email == email).Select(x => new { x.User_Name, x.User_Id });
            string newRandomPassword = string.Empty;
            bool   ok = false;

            try
            {
                existUser.First();
                newRandomPassword = GetNewRandomPassword();
                Admin contextToUpdate = securityContext.Security.Find(existUser.FirstOrDefault().User_Id);
                contextToUpdate.Password = SecurityConversor.Md5Calculator(newRandomPassword);
                securityContext.Security.Update(contextToUpdate);
                securityContext.SaveChanges();
                ok = true;
            }
            catch
            {
                Exception e;
            }
            if (ok)
            {
                sendEmail.SendMail(email, user, newRandomPassword, MailOperationType.mailRecovery);
                TempData["EmailPass"] = "******";
            }
            else
            {
                TempData["EmailPass"] = "******";
            }

            return(RedirectToAction("PassRecovery", "Security"));
        }
        public IActionResult NewUserControl()
        {
            if (!isLogged.IsUserLogged())
            {
                return(RedirectToAction("Login", "Security"));
            }

            var inputUser            = SecurityConversor.Md5Calculator((Request.Form["user"]).ToString().ToLower());
            var inputPassword        = SecurityConversor.Md5Calculator(Request.Form["password"]);
            var confirmInputPassword = SecurityConversor.Md5Calculator(Request.Form["confirmPassword"]);
            var email = Request.Form["email"];
            var name  = Request.Form["UserName"];
            var rol   = Request.Form["rol"];

            var securityContextList = context.Security.ToList();

            if (securityContextList.Exists(x => x.User_Name == inputUser))
            {
                TempData["InfoPass"] = "******";
                return(RedirectToAction("NewUser", "Users"));
            }
            else if (inputPassword != confirmInputPassword)
            {
                TempData["InfoPass"] = "******";
                return(RedirectToAction("NewUser", "Users"));
            }
            else
            {
                context.Security.Add(new Admin()
                {
                    Password  = inputPassword,
                    User_Name = inputUser,
                    Email     = email,
                    Nombre    = name,
                    UserRolId = Convert.ToInt32(rol)
                });

                if (context.SaveChanges() > 0)
                {
                    TempData["InfoPass"] = "******";
                }
            }

            return(RedirectToAction("NewUser", "Users"));
        }
예제 #5
0
        /// <summary>
        /// Devuelve un token con cifrado hash md5
        /// </summary>
        /// <returns></returns>
        public string getNewToken()
        {
            var token = GetNewRandomPassword();

            return(SecurityConversor.Md5Calculator(token));
        }