Exemplo n.º 1
0
 public ActionResult Login(UserLoginModel model, string returnUrl)
 {
     if (ModelState.IsValid)
     {
         var user = userService.GetUser(model.Username, PasswordHashMD5.MD5Hash(model.Password));
         if (user == null)
         {
             ModelState.AddModelError("", "Tên đăng nhập hoặc mật khẩu không tồn tại");
             return(View("Index"));
         }
         else
         {
             var userRoles = userRoleService.GetByUserId(user.UserId);
             foreach (var userRole in userRoles)
             {
                 if (userRole.UserRoleId == 1)
                 {
                     if (userRole.RoleId == 1)
                     {
                         Session["FullName"] = user.FirstName + " " + user.LastName;
                         Session["UserId"]   = user.UserId;
                         Session["RoleId"]   = userRole.RoleId;
                         return(Redirect("/Admin/quan-tri/trang-chu"));
                     }
                     else
                     {
                         Session["FullName"] = user.FirstName + " " + user.LastName;
                         Session["UserId"]   = user.UserId;
                         Session["RoleId"]   = userRole.RoleId;
                         return(Redirect("/"));
                     }
                 }
                 else
                 {
                     Session["FullName"] = user.FirstName + " " + user.LastName;
                     Session["UserId"]   = user.UserId;
                     Session["RoleId"]   = userRole.RoleId;
                     return(Redirect(returnUrl));
                 }
             }
         }
     }
     return(View("Index"));
 }
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = userService.GetById(Convert.ToInt32(Session[UserSession.UserId]));

            if (!user.PasswordHash.Equals(PasswordHashMD5.MD5Hash(model.OldPassword)))
            {
                ModelState.AddModelError("", "Mật khẩu hiện tại không chính xác");
                return(View());
            }

            user.PasswordHash = PasswordHashMD5.MD5Hash(model.NewPassword);
            userService.Update(user);
            ViewBag.ResetPwSuccess = "Đổi mật khẩu thành công";
            return(View());
        }
        public ActionResult Signup(UserSignupModel model)
        {
            if (ModelState.IsValid)
            {
                var check = userService.CheckAccountExists(model.UserName_S);
                if (check)
                {
                    //var user = Mapper.Map<User>(model); if UserName not S then OK
                    User user = new User();
                    user.FirstName    = model.FirstName;
                    user.LastName     = model.LastName;
                    user.UserName     = model.UserName_S;
                    user.PasswordHash = PasswordHashMD5.MD5Hash(model.Password_S);
                    user.DateOfBirth  = DateTime.Now;
                    user.Gender       = true;
                    user.Avatar       = "AvatarDefault-Male.png";
                    userService.Add(user);

                    var _user    = userService.GetUser(model.UserName_S, PasswordHashMD5.MD5Hash(model.Password_S));
                    var userRole = new UserRole();
                    userRole.UserId = _user.UserId;
                    userRole.RoleId = roleService.GetByName(Common.Role.MEMBER).First().RoleId;
                    userRoleService.Add(userRole);
                    var roles = userRoleService.GetByUserId(_user.UserId);
                    Session[UserSession.UserId]   = _user.UserId;
                    Session[UserSession.FullName] = model.FirstName + " " + model.LastName;
                    Session[UserSession.Avatar]   = _user.Avatar;
                    Session[UserSession.Role]     = roles;
                    return(Redirect("/Home/Index"));
                }
                else
                {
                    TempData["statusSignup"]  = false;
                    TempData["messageSignup"] = "Tên đăng nhập đã tồn tại.Vui lòng kiểm tra lại.";
                }
            }
            return(View("Index"));
        }
        public ActionResult LoginByCredentials(UserLoginModel model)
        {
            if (ModelState.IsValid)
            {
                User user = userService.GetUser(model.UserName, PasswordHashMD5.MD5Hash(model.Password));
                if (user == null)
                {
                    TempData["statusLogin"]  = false;
                    TempData["messageLogin"] = "******";
                }
                else
                {
                    var roles = userRoleService.GetByUserId(user.UserId);

                    Session[UserSession.UserId]   = user.UserId;
                    Session[UserSession.FullName] = user.FirstName + " " + user.LastName;
                    Session[UserSession.Avatar]   = user.Avatar;
                    Session[UserSession.Role]     = roles;
                    return(Redirect("/Home/Index"));
                }
            }
            return(View("Index"));
        }