Esempio n. 1
0
        public async Task <IActionResult> ModifyPwd([Bind("UserName,UserPwd,ComfirmPwd")] PyRegisterUser pyRegisterUser)
        {
            if (ModelState.IsValid)
            {
                var user = _db.ToUserInfo
                           .Where(b => b.Id == _MyUserInfo.Id)
                           .SingleOrDefault();

                if (user == null)
                {
                    this.MsgBox("修改失败,请稍后重试!");
                    return(View(pyRegisterUser));
                }
                user.UserPwd = PublicClass._Md5(pyRegisterUser.UserPwd.Trim());
                var result = await _db.SaveChangesAsync();

                if (result > 0)
                {
                    HttpContext.Session.Set <PyUserInfo>(HttpContext.Session.SessionKey(), _MyUserInfo);
                    this.MsgBox("修改成功!");
                }
                else
                {
                    this.MsgBox("修改失败,请稍后重试!");
                }
            }
            return(View(pyRegisterUser));
        }
        public async Task <IActionResult> ConfirmPassword([Bind("UserName", "UserPwd", "ComfirmPwd")] PyRegisterUser registUser)
        {
            if (ModelState.IsValid)
            {
                if (string.IsNullOrWhiteSpace(registUser.UserPwd))
                {
                    this.MsgBox("密码不能为空!");
                    return(View(registUser));
                }
                else if (string.IsNullOrWhiteSpace(registUser.ComfirmPwd))
                {
                    this.MsgBox("确认密码不能为空!");
                    return(View(registUser));
                }
                else if (registUser.UserPwd != registUser.ComfirmPwd)
                {
                    this.MsgBox("密码和确认密码不相同!");
                    return(View(registUser));
                }

                var key = $"checkConfirmPwd{registUser.UserName}";
                if (!_cache.TryGetValue <PyUserInfo>(key, out var checkUser))
                {
                    return(RedirectToAction(nameof(HomeController.Error), "Home", new { msg = "请求已过期,重新操作!" }));
                }

                var user = _context.ToUserInfo.Where(b => b.Id == checkUser.Id && b.Email == checkUser.Email).SingleOrDefault();
                if (user == null)
                {
                    _cache.Remove(key);
                    return(RedirectToAction(nameof(HomeController.Error), "Home", new { msg = "重置密码失败,请稍后重试!" }));
                }

                if (user.UserPwd == PublicClass._Md5(registUser.UserPwd.Trim()))
                {
                    this.MsgBox("新密码与旧密码不能相同!请确认。");
                    return(View(registUser));
                }

                user.UserPwd = PublicClass._Md5(registUser.UserPwd.Trim());
                var result = await _context.SaveChangesAsync();

                if (result > 0)
                {
                    _cache.Remove(key);
                    this.MsgBox("重置密码成功!");
                }
                else
                {
                    this.MsgBox("重置密码失败!");
                }
            }
            return(View(registUser));
        }
Esempio n. 3
0
        public async Task <JsonResult> Register([Bind("UserName,UserPwd,ComfirmPwd")] PyRegisterUser registerUser)
        {
            var data = new PyStudioPromptData();

            if (ModelState.IsValid)
            {
                #region 验证
                if (_context.InfoUser.Any(b => b.UserName.ToUpper().Equals(registerUser.UserName.Trim().ToUpper())))
                {
                    data.IsOK = 2;
                    data.Msg  = "已存在相同的账号!";
                    return(Json(data));
                }
                #endregion

                InfoUser infoUser = new InfoUser();
                infoUser.UserName       = registerUser.UserName.Trim();
                infoUser.UserNickName   = registerUser.UserName;
                infoUser.UserPwd        = registerUser.UserPwd.Trim()._Md5();
                infoUser.UserSex        = 3;
                infoUser.UserHeadPhoto  = "/images/default.png";
                infoUser.UserStatus     = (int)EmUserStatus.启用;
                infoUser.UserCreateTime = DateTime.Now;
                infoUser.UserIps        = this.GetUserIp();

                _context.Add(infoUser);

                var result = await _context.SaveChangesAsync();

                if (result > 0)
                {
                    data.IsOK = 1;
                    data.Msg  = "注册成功";
                    var _pyUserInfo = new PyUserInfo
                    {
                        UserId         = infoUser.UserId,
                        UserName       = infoUser.UserName,
                        UserNickName   = infoUser.UserNickName,
                        UserEmail      = infoUser.UserEmail,
                        UserTel        = infoUser.UserTel,
                        UserSex        = infoUser.UserSex,
                        UserIntroduce  = infoUser.UserIntroduce,
                        UserHeadPhoto  = infoUser.UserHeadPhoto,
                        UserBirthday   = infoUser.UserBirthday,
                        UserAddress    = infoUser.UserAddress,
                        UserBlog       = infoUser.UserBlog,
                        UserStatus     = infoUser.UserStatus,
                        UserCreateTime = infoUser.UserCreateTime,
                        UserLoginTime  = infoUser.UserLoginTime,
                        UserIps        = infoUser.UserIps
                    };
                    HttpContext.Session.Set <PyUserInfo>(HttpContext.Session.SessionKey(), _pyUserInfo);

                    #region 操作日志记录
                    _context.SysLogger.Add(new SysLogger
                    {
                        LoggerUser        = _pyUserInfo.UserId,
                        LoggerDescription = $"用户{_pyUserInfo.UserName} {EmLogStatus.注册} ",
                        LoggerOperation   = (int)EmLogStatus.注册,
                        LoggerCreateTime  = DateTime.Now,
                        LoggerIps         = _pyUserInfo.UserIps
                    });

                    _context.SysLogger.Add(new SysLogger
                    {
                        LoggerUser        = _pyUserInfo.UserId,
                        LoggerDescription = $"用户{_pyUserInfo.UserName} {EmLogStatus.登录} ",
                        LoggerOperation   = (int)EmLogStatus.登录,
                        LoggerCreateTime  = DateTime.Now,
                        LoggerIps         = _pyUserInfo.UserIps
                    });

                    await _context.SaveChangesAsync();

                    #endregion
                }
                else
                {
                    data.IsOK = 0;
                    data.Msg  = "注册失败!请联系客服";
                }
            }
            else
            {
                data.IsOK = 0;
                data.Msg  = "注册失败!请联系客服";
            }
            return(Json(data));
        }
        public async Task <IActionResult> Register([Bind("UserName,UserPwd,ComfirmPwd")] PyRegisterUser loginUser)
        {
            if (ModelState.IsValid)
            {
                #region 验证
                if (_context.ToUserInfo.Any(b => b.UserName.ToUpper() == loginUser.UserName.Trim().ToUpper()))
                {
                    this.MsgBox("已经存在相同的账号!");
                    return(View(loginUser));
                }
                #endregion

                #region Create
                ToUserInfo userInfo = new ToUserInfo();
                userInfo.UserName   = loginUser.UserName.Trim();
                userInfo.UserPwd    = PublicClass._Md5(loginUser.UserPwd.Trim());
                userInfo.NickName   = userInfo.UserName;
                userInfo.Status     = (int)EmUserStatus.启用;
                userInfo.CreateTime = DateTime.Now;
                userInfo.LevelNum   = (int)EmLevelNum.注册;
                userInfo.Ips        = this.GetUserIp();
                userInfo.HeadPhoto  = "/images/pystudio.png";
                userInfo.Sex        = false;
                _context.Add(userInfo);

                var result = await _context.SaveChangesAsync();

                if (result > 0)
                {
                    var pyUserInfo = new PyUserInfo {
                        Id         = userInfo.Id,
                        UserName   = userInfo.UserName,
                        NickName   = userInfo.NickName,
                        Addr       = userInfo.Addr,
                        Birthday   = userInfo.Birthday,
                        Blog       = userInfo.Blog,
                        CreateTime = userInfo.CreateTime,
                        Email      = userInfo.Email,
                        HeadPhoto  = userInfo.HeadPhoto,
                        Introduce  = userInfo.Introduce,
                        Ips        = userInfo.Ips,
                        LevelNum   = userInfo.LevelNum,
                        Sex        = userInfo.Sex,
                        Tel        = userInfo.Tel,
                        Status     = userInfo.Status,
                        LoginTime  = DateTime.Now
                    };
                    HttpContext.Session.Set <PyUserInfo>(HttpContext.Session.SessionKey(), pyUserInfo);

                    if (!string.IsNullOrWhiteSpace(pyUserInfo.Ips))
                    {
                        _context.ToUserLog.Add(new ToUserLog {
                            CodeId     = (int)EmLogCode.登录,
                            CreateTime = DateTime.Now,
                            Des        = $"IP:{pyUserInfo.Ips},登录时间:{pyUserInfo.LoginTime.ToString("yyyy-MM-dd HH:mm:ss")}",
                            UserId     = userInfo.Id
                        });
                    }

                    _context.ToUserLog.Add(new ToUserLog {
                        CodeId     = (int)EmLogCode.积分,
                        CreateTime = DateTime.Now,
                        Des        = $"【注册】+{ (int)EmLevelNum.注册}",
                        UserId     = userInfo.Id
                    });

                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(HomeController.Index), "Home"));
                }
                #endregion

                this.MsgBox("注册失败,请稍后重试。");
                return(View(loginUser));
            }
            return(View(loginUser));
        }