public ActionResult Login(UserLoginParams userLoginParams) { if (string.IsNullOrEmpty(userLoginParams.Account) || string.IsNullOrEmpty(userLoginParams.PassWord)) { ShowMsg("账号密码不能为空"); return(RedirectToAction("Login")); } using (var db = new ClubEntities()) { var pw = userLoginParams.PassWord.MD5Encoding(userLoginParams.Account); var user = db.User.FirstOrDefault(a => a.Account == userLoginParams.Account && a.PassWord == pw); if (user == null) { ShowMsg("用户不存在"); return(RedirectToAction("Login")); } //设置用户登陆状态 Session["loginUser"] = user; return(Redirect("/")); } }
public async Task <IHttpActionResult> SignIn(UserLoginParams model) { APIResponse _response = new APIResponse(); if (string.IsNullOrEmpty(model.Email) || string.IsNullOrEmpty(model.Password)) { _response.Message = "Username or password is empty"; _response.WasSuccess = false; return(Ok(_response)); } LoggedInUser _loggedInUser = await AppManager.AuthenticateLoggedInUserAsync(model.Email, model.Password); if (_loggedInUser != null) { UserSession _session = await AppManager.CreateUserSession(_loggedInUser.ID, "API"); _loggedInUser.SessionID = _session.ID; _loggedInUser.Token = _session.Token; _response.Data = _loggedInUser; _response.WasSuccess = true; _response.Message = "Successfully logged-in"; return(Ok(_response)); } else { _response.Message = "Email or password do not match. Please try again later."; return(Ok(_response)); } }
public async Task <ActionResult <UserInfoResult> > Login(UserLoginParams @params) { User user = await _dbContext.User .Where(it => it.Username == @params.Username && it.Password == @params.Password) .FirstOrDefaultAsync(); if (user == null) { return(Unauthorized()); } _logger.LogInformation("User '{1}' logged in.", user.Username); user.AccessTime = DateTime.UtcNow; await _dbContext.SaveChangesAsync(); return(new UserInfoResult { Id = user.Id, Username = user.Username, Language = user.Language, Gender = user.Gender, Avatar = user.Avatar, HomePage = user.HomePage, Color = user.Color }); }
public IActionResult Authenticate([FromForm] UserLoginParams form) { User user = null; try { user = _userService.Authenticate(form); } catch (ArgumentException e) { Console.WriteLine(e); } if (user == null) { return(BadRequest("Invalid credentials")); } Claim[] claims = new[] { new Claim(ClaimTypes.Name, user.Id.ToString()), new Claim(ClaimTypes.Role, user.Role) }; var tokenInfo = _tokenGenerator.GenerateToken(_config.GetValue <string>("AppSettings:Secret"), claims, 15); return(Ok(new UserDto { UserName = user.UserName, Email = user.Email, Token = tokenInfo.Token, ValidTo = tokenInfo.ValidTo })); }
public User Authenticate(UserLoginParams userParams) { CheckArgs(userParams.UserName, userParams.Password); User user = _userRepository.GetByUserName(userParams.UserName); if (user == null || !VerifyPassword(userParams.Password, user.PasswordHash, user.PasswordSalt)) { return(null); } return(user); }
[HttpPost("Session")] // 555 ? public async Task <ActionResult <UserInfoResult> > Login(UserLoginParams @params) { // UNDONE: 也考虑可以使用邮箱登录 var user = await _dbContext.Users .Where(it => it.Username.Equals(@params.Username)) .SingleOrDefaultAsync() ?? null; if (user is null) { return(Unauthorized()); } if (user.Password == string.Empty) { user.Password = @params.Password; user.CreationTime = DateTime.UtcNow; user.ModifiedTime = DateTime.UtcNow; } else if (!user.Password.Equals(@params.Password)) { return(Unauthorized()); } _logger.LogInformation($"User '{user.Username}' logged in."); user.AccessTime = DateTime.UtcNow; await _dbContext.SaveChangesAsync(); return(new UserInfoResult { Id = user.Id, Avatar = user.Avatar, Color = user.Color, Username = user.Username, Language = user.Language, Email = user.Email, HomePage = user.HomePage, ExtraInfo = user.ExtraInfo, }); }