示例#1
0
        public IActionResult CreateNewUser(DTOUser usr)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = new Users
                    {
                        UserFullName = usr.UserFullName,
                        UserName     = usr.UserName,
                        Email        = usr.email,
                        Password     = PassEncryption.ComputeSHA1(usr.password)
                    };

                    todo.Users.Add(user);
                    todo.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(RedirectToAction("Index"));
        }
示例#2
0
        public bool ValidateUsuario(Login user)
        {
            using (var dbContext = new AxsisTestDB())
            {
                string encodedPass = PassEncryption.Encrypt(user.Password);

                return(dbContext.Usuarios.Any(u =>
                                              user.NombreUsuario == u.NombreUsuario &&
                                              encodedPass == u.Password));
            }
        }
示例#3
0
        public bool SaveUsuario(Usuario user)
        {
            using (var dbContext = new AxsisTestDB())
            {
                try
                {
                    user.Password = PassEncryption.Encrypt(user.Password);

                    dbContext.Usuarios.Add(user);
                    dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    return(false);
                }

                return(true);
            }
        }
示例#4
0
        public async Task <ActionResult> Login(DTOLogin usr)
        {
            if (ModelState.IsValid)
            {
                var loginData = todo.Users
                                .Where(u => u.UserName == usr.UserName)
                                .Select(u => new { u.UserName, u.Password });
                try
                {
                    string usrName = loginData.FirstOrDefault().UserName;
                    string pass    = loginData.FirstOrDefault().Password;

                    string hashedPassFromUser = PassEncryption.ComputeSHA1(usr.Password);
                    int    match = string.Compare(pass, hashedPassFromUser);

                    if (match == 0 && usr.UserName == usrName)
                    {
                        List <Claim> userClaims = new List <Claim>//read about asp.net core identity.
                        {
                            new Claim("UserName", Convert.ToString(usrName))
                        };
                        ClaimsPrincipal principal = new ClaimsPrincipal(new ClaimsIdentity(userClaims, "local"));
                        await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance-TODOAPP1122016", principal);//this was set up in startup.cs. i'm using cookie middleware

                        return(RedirectToAction("Index", "Todo"));
                    }

                    else
                    {
                        ModelState.AddModelError("1", "Incorrect login data !");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("2", "no user found" + ex);
                }
            }

            return(RedirectToAction("LogIn"));
        }
示例#5
0
        public bool UpdateUsuario(Usuario user)
        {
            using (var dbContext = new AxsisTestDB())
            {
                try
                {
                    user.Password = PassEncryption.Encrypt(user.Password);

                    var userToUpdate = dbContext.Usuarios.FirstOrDefault(u => u.Id == user.Id);
                    userToUpdate = user;

                    dbContext.Usuarios.AddOrUpdate(userToUpdate);
                    dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    return(false);
                }

                return(true);
            }
        }