public async Task <JsonResult> Login([Bind("UserName,UserPwd,ReturnUrl")] PyLoginUser loginUser) { var data = new PyStudioPromptData(); //if (ModelState.IsValid) //{ var md5Pwd = loginUser.UserPwd.Trim()._Md5(); var userInfo = await _context.InfoUser.SingleOrDefaultAsync(b => b.UserName.Equals(loginUser.UserName, StringComparison.CurrentCultureIgnoreCase) && b.UserPwd.Equals(md5Pwd)); if (userInfo == null) { data.IsOK = 2; data.Msg = "用户名或密码错误!"; return(Json(data)); } else if (userInfo.UserStatus == (int)EmUserStatus.禁用) { data.IsOK = 2; data.Msg = "该账号已被禁用,或许你可以重新注册一个账号或者联系管理员!"; return(Json(data)); } userInfo.UserIps = this.GetUserIp(); userInfo.UserLoginTime = DateTime.Now; var _pyUserInfo = new PyUserInfo { UserId = userInfo.UserId, UserName = userInfo.UserName, UserNickName = userInfo.UserNickName, UserEmail = userInfo.UserEmail, UserTel = userInfo.UserTel, UserSex = userInfo.UserSex, UserIntroduce = userInfo.UserIntroduce, UserHeadPhoto = userInfo.UserHeadPhoto, UserBirthday = userInfo.UserBirthday, UserAddress = userInfo.UserAddress, UserBlog = userInfo.UserBlog, UserStatus = userInfo.UserStatus, UserCreateTime = userInfo.UserCreateTime, UserLoginTime = userInfo.UserLoginTime, UserIps = userInfo.UserIps }; HttpContext.Session.Set <PyUserInfo>(HttpContext.Session.SessionKey(), _pyUserInfo); _context.SysLogger.Add(new SysLogger { LoggerUser = _pyUserInfo.UserId, LoggerDescription = $"用户{_pyUserInfo.UserName}{EmLogStatus.登录} ", LoggerOperation = (int)EmLogStatus.登录, LoggerCreateTime = DateTime.Now, LoggerIps = _pyUserInfo.UserIps }); await _context.SaveChangesAsync(); data.IsOK = 1; data.Msg = "登录成功"; //} //else //{ // data.IsOK = 0; // data.Msg = "登录失败!"; //} return(Json(data)); }
public async Task <IActionResult> Login([Bind("UserName,UserPwd,ReturnUrl")] PyLoginUser loginUser) { if (ModelState.IsValid) { #region Valid var md5Pwd = PublicClass._Md5(loginUser.UserPwd.Trim()); var userInfo = await _context.ToUserInfo.SingleOrDefaultAsync(b => b.UserName.Equals(loginUser.UserName, StringComparison.CurrentCultureIgnoreCase) && b.UserPwd.Equals(md5Pwd)); if (userInfo == null) { this.MsgBox("账号或密码错误!"); return(View(loginUser)); } else if (userInfo.Status == (int)EmUserStatus.禁用) { this.MsgBox("该账号已被禁用,或许你可以重新注册一个账号或者联系管理员!"); return(View(loginUser)); } #endregion #region 更新登录信息 userInfo.Ips = this.GetUserIp(); userInfo.LoginTime = DateTime.Now; userInfo.LevelNum += (int)EmLevelNum.登录; //记录Session 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 = Convert.ToDateTime(userInfo.LoginTime) }; 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(); if (string.IsNullOrWhiteSpace(loginUser.ReturnUrl)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } else { return(Redirect(loginUser.ReturnUrl)); } #endregion } return(View(loginUser)); }