Пример #1
0
        public ActionResult Edit(UsersEditViewModel model)
        {
            // Add Data Management evaluation section changes here.



            // End changes.

            // Solution:
            EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Id == model.Id);

            if (model.NewPassword != string.Empty)
            {
                user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword);
            }

            if (model.UserRole != user.AspNetRoles.Id)
            {
                user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole);
            }

            db.SaveChanges();
            // End solution.

            return(RedirectToAction("Edit", new { id = user.Id }));
        }
        public ActionResult Edit(UsersEditViewModel model)
        {
            // Add Data Management evaluation section changes here.



            // End changes.

            // Solution:


            if (model.Id != 0)
            {
                EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Id == model.Id);
                // Modifying password and roles.
                if (model.NewPassword != string.Empty)
                {
                    user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword);
                }

                if (model.UserRole != user.AspNetRoles.Id)
                {
                    user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole);
                    //user.AspNetRoles.Name = model.UserRole.ToString();
                }

                db.SaveChanges();
                return(RedirectToAction("Edit", new { id = user.Id }));
            }
            else
            {
                EntityModels.AspNetUser user = new EntityModels.AspNetUser();
                user = db.AspNetUsers.FirstOrDefault(x => x.Email == User.Identity.Name);

                // Modifying password and roles.
                if (model.NewPassword != string.Empty)
                {
                    user.PasswordHash = AuthController.EncodePasswordMd5(model.NewPassword);
                }

                if (model.UserRole != user.AspNetRoles.Id)
                {
                    user.AspNetRoles = db.AspNetRoles.FirstOrDefault(x => x.Id == model.UserRole);
                    //user.AspNetRoles.Name = model.UserRole.ToString();
                }

                db.SaveChanges();
                return(RedirectToAction("Edit", new { id = user.Id }));
            }


            // End solution.
        }
        // Param id is the Id of the user to edit.
        public ActionResult Edit(int?id)
        {
            UsersEditViewModel model = new UsersEditViewModel();

            EntityModels.AspNetUser user = new EntityModels.AspNetUser();

            if (id.HasValue)
            {
                user = db.AspNetUsers.FirstOrDefault(x => x.Id == id);
            }
            else
            {
                user = db.AspNetUsers.FirstOrDefault(x => x.Email == User.Identity.Name);
            }

            model.Id       = user.Id;
            model.UserRole = user.AspNetRoles.Id;

            return(View());
        }
Пример #4
0
        public ActionResult Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            if (db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email) != null)
            {
                return(View());
            }

            if (model.Password != model.ConfirmPassword)
            {
                return(View());
            }

            EntityModels.AspNetUser newUser = new EntityModels.AspNetUser();

            newUser.Email             = model.Email;
            newUser.FullName          = model.FullName;
            newUser.ImgName           = string.Empty;
            newUser.PasswordHash      = EncodePasswordMd5(model.Password);
            newUser.AccessFailedCount = 0;
            newUser.AspNetRoles       = db.AspNetRoles.FirstOrDefault(x => x.Name == "User");

            db.AspNetUsers.Add(newUser);
            db.SaveChanges();

            LoginViewModel loginModel = new LoginViewModel();

            loginModel.Email    = newUser.Email;
            loginModel.Password = model.Password;

            Login(loginModel);

            return(RedirectToAction("Index", "Home"));
        }
Пример #5
0
        public ActionResult Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            EntityModels.AspNetUser user = db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email);

            if (user != null && EncodePasswordMd5(model.Password) == user.PasswordHash)
            {
                var identity = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, user.Email),
                    new Claim(ClaimTypes.Email, user.Email)
                }, "ApplicationCookie");

                var ctx         = HttpContext.GetOwinContext();
                var authManager = ctx.Authentication;

                authManager.SignIn(identity);

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                model = new LoginViewModel
                {
                    ReturnUrl = model.ReturnUrl
                };
            }

            // user authN failed
            ModelState.AddModelError("", "Invalid email or password");
            return(View());
        }