Esempio n. 1
0
        public ActionResult LogIn(AccountLoginModel model)
        {
            //var account = Mapper.Map<AccountLoginModel, Account>(model);
            var cuenta = _readOnlyRepository.First<Account>(( x=> x.Email==model.Username && x.Password == model.Password ) );
            if (cuenta != null)
            {

                var roles = new List<string>();
                roles.Add("User");
                //cuenta.Roles.Select(x => x.Name).ToList();
                FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe);
                SetAuthenticationCookie(model.Username, roles);
                if (cuenta.Banned == true)
                {
                    var razon = _readOnlyRepository.First<Ban>(x => x.Email == model.Username);
                    Error("La cuenta: "+razon.Email+" ha sido baneada por la siguiente razon: "+razon.Reason);
                    return RedirectToAction("LogIn", "Account");
                }
                if (cuenta.Admin == true)
                {
                    return RedirectToAction("ListUsers", "Administrator");
                }
                return RedirectToAction("ListAllContent", "Disk");
            }
            Error("Lo sentimos, esa cuenta no existe en nuestra base de datos.");
            return View(new AccountLoginModel());
        }
        public ActionResult LogIn(AccountLoginModel model)
        {
            var passwordEncripted = EncriptacionMD5.Encriptar(model.Password);
            var result = _readOnlyRepository.Query<Account>(x => x.EMail == model.EMail && x.Password==passwordEncripted);

            if (result.Any())
                return RedirectToAction("ListAllContent", "Disk", new {userFiles=result.FirstOrDefault().Files});

            Error("E-Mail or Password is incorrect!!!");
            return View();
        }
        public ActionResult LogIn(AccountLoginModel model)
        {
            var account = _readOnlyRepository.First<Account>(
                    x => x.Email == model.Email && x.Password == model.Password);

            if (account != null)
            {
                var roles = new List<string>();
                string roleToAdd = "";
                roleToAdd = account.IsAdmin ? "Admin" : "User";
                roles.Add(roleToAdd);
                FormsAuthentication.SetAuthCookie(model.Email, false);
                SetAuthenticationCookie(model.Email, roles);
                return RedirectToAction("Index", "Disk");
            }

            Error("Email and/or password incorrect");
            return View(model);
        }
        public ActionResult Confirmed(string token)
        {
            if (token == "ErrorPostback")
            {
                Error("Link has expired!!!");
                return RedirectToAction("LogIn");
            }

            var fechaActual = DateTime.Now.Date;

            var data = token.Split(';');
            var id = data[0];
            var linkDate = data[1];

            var currentDate = "" + fechaActual.Day + fechaActual.Month + fechaActual.Year;
            var currentDateMd5 = EncriptacionMD5.Encriptar(currentDate);

            var user = _readOnlyRepository.First<Account>(a => a.Id.ToString() == id);
            var model = new AccountLoginModel();

            if (user != null)
                model.EMail = user.EMail;

            if (user != null)
                model.Password = user.Password;

            if (linkDate == currentDateMd5 && user != null)
            {

                var result =
                    _readOnlyRepository.First<Account>(x => x.EMail == model.EMail && x.Password == model.Password);

                if (result != null)
                {
                    if (result.IsBlocked)
                    {
                        Error(
                            "Your account has been blocked by the Admin due to violation of the terms of usage of this site!");
                        return RedirectToAction("LogIn");
                    }

                    if (result.Isconfirmed)
                    {
                        Error("Your account has already been confirmed");
                        return RedirectToAction("LogIn");
                    }

                    if (result.IsArchived)
                    {
                        Error("Your account is inactive, to activate it again send an e-mail to [email protected]");
                        return RedirectToAction("LogIn");
                    }

                    var roles = result.IsAdmin
                        ? new List<string>(new[] {"Admin"})
                        : new List<string>(new[] {"User"});

                    FormsAuthentication.SetAuthCookie(model.EMail, model.RememberMe);
                    SetAuthenticationCookie(model.EMail, roles);

                    Session["ActualPath"] = result.EMail;
                    Session["ActualFolder"] = result.EMail;

                    result.Isconfirmed = true;
                    AddActivity("El usuario ha confirmado su cuenta.", result);
                    _writeOnlyRepository.Update<Account>(result);

                    Success("Your Account it is Confirmed");
                    return View("Marketing");
                }

                return RedirectToAction("Confirmed", new {token = "ErrorPostBack"});
            }
            return RedirectToAction("LogIn");
        }
        public ActionResult LogIn(AccountLoginModel model)
        {
            var passwordEncripted = EncriptacionMD5.Encriptar(model.Password);
            var result = _readOnlyRepository.First<Account>(x => x.EMail == model.EMail && x.Password==passwordEncripted);

            if (result != null)
            {
                if (!CheckPassword(result, passwordEncripted))
                {
                     Error("Contraseña invalida");
                    return View();
                }
                if (result.IsBlocked)
                {
                    Error(
                        "Your account has been blocked by the Admin due to violation of the terms of usage of this site!");
                    return View();
                }

                if (!result.Isconfirmed)
                {
                    Error(
                        "Your account has not been confirmed!");
                    return View();
                }
                if (result.IsArchived)
                {
                    Error("Your account is inactive, to activate it again send an e-mail to [email protected]");
                    return View();
                }

                var roles = result.IsAdmin
                    ? new List<string>(new[] {"Admin"})
                    : new List<string>(new[] {"User"});

                FormsAuthentication.SetAuthCookie(model.EMail, model.RememberMe);
                SetAuthenticationCookie(model.EMail, roles);

                if (result.IsAdmin)
                {
                    return RedirectToAction("RegisteredUsersList", "RegisteredUsersList");
                }

                Session["ActualPath"] = string.Empty;
                Session["ActualFolder"] = string.Empty;
                return RedirectToAction("ListAllContent", "Disk");
            }

            Error("E-Mail or Password is incorrect!!!");
            return View();
        }