public async Task <IActionResult> Login([FromBody] LoginRequestModel model) { model.Validate(); var result = await _authManager.Login(model.Email, model.Password); return(Ok(new ResponseModel <LoginResponseModel> { RequestSuccessful = true, ResponseCode = ResponseCodes.Successful, Message = "Login Successful.", ResponseData = result })); }
/// <summary> /// zkontroluje uzivatele /// </summary> /// <param name="model">prijate informace o uzivateli</param> /// <returns></returns> public async Task <BaseResponseModelGet <UserIdentityModel> > CheckUser(LoginRequestModel model) { var result = new BaseResponseModelGet <UserIdentityModel> { Value = new UserIdentityModel() }; if (model.Validate()) { model.Username = model.Username.Trim(); model.Password = model.Password.Trim(); User user = await Database.User.Include(u => u.UserRole).AsNoTracking().FirstOrDefaultAsync(u => u.Username == model.Username); if (user != null) { if ((user.UseLdaplogin && await CheckLdapLogin(user.LdapUrl, model.Username, model.Password)) || ComparePasswords(user, model.Password)) { await CreateUserSession(user, result.Value); } else { result.Success = false; result.Message = "Incorrect credentials!"; } } else { result.Success = false; result.Message = "Unknown credentials!"; } } else { result.Success = false; result.Message = "Enter username and password!"; } return(result); }