public async Task <DataShell> AuthenticationAsync(IValidator user) { var result = new DataShell(); var hashPassword = await _dbOperations.GetUserHashPasswordAsync(((User)user).Login); if (hashPassword.stringData == null) { result.error = "User not found"; return(result); } if (hashPassword.error != null) { result.error = hashPassword.error; return(result); } if (_supportingMethods.GetHashString(((User)user).Password) != hashPassword.stringData) { result.error = "Password incorrect"; return(result); } return(result); }
public bool InitializeAdmin(IConfigurationSection adminOptions) { try { if (adminOptions != null) { string adminLogin = adminOptions.GetSection("login").Value; string adminPassword = adminOptions.GetSection("password").Value; if (adminLogin == null || adminPassword == null) { _logger.LogError("Fail initialize login or password subsection in appsettings.json"); return(false); } if (_modelContext.SelectAsync <User, User>().Result.Count() == 0)//predicate: user=>user.Login == adminLogin { var admin = new User { Login = adminLogin, Password = _supportingMethods.GetHashString(adminPassword) }; var result = _modelContext.InsertAsync(admin).Result; if (result.error != null) { _logger.LogError("Fail create admin user"); return(false); } } return(true); } else { _logger.LogError("Fail initialize admin section in appsettings.json"); return(false); } } catch (Exception ex) { _logger.LogError(ex, "Fail initialize admin"); return(false); } }