/// <summary> /// 新增、修改用户权限表 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaseResultModel <AuthOutputModel> ModifyAuth(AuthInputModel model) { SuccessResultModel <AuthOutputModel> result = new SuccessResultModel <AuthOutputModel>(); ErrorResultModel <AuthOutputModel> error = new ErrorResultModel <AuthOutputModel>(); try { if (model.AuthID.IsNullOrEmpty()) { result.Data = this.AuthRepository.InsertAndReturn(model); } else { result.Data = this.AuthRepository.UpdateWithKeysAndReturn(model); } return(result); } catch (Exception ex) { LogWriter.WriteLog(EnumLogLevel.Fatal, "ModifyAuth", JsonConvert.SerializeObject(model), "Auth", "新增、修改用户权限表异常!", ex); error.ErrorCode = EnumErrorCode.系统异常; error.ErrorMessage = "新增、修改用户权限表异常!"; return(error); } }
public async Task <IActionResult> Token(AuthInputModel currentUser) { var identity = await GetIdentity(currentUser); if (identity == null) { return(BadRequest(new { errorText = "Invalid username or password." })); } var now = DateTime.Now; var jwt = new JwtSecurityToken( issuer: AuthOptions.ISSUER, audience: AuthOptions.AUDIENCE, notBefore: now, claims: identity.Claims, expires: now.Add(TimeSpan.FromMinutes(AuthOptions.LIFETIME)), signingCredentials: new SigningCredentials(AuthOptions.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256)); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt); var response = new { access_token = encodedJwt, username = identity.Name }; return(Json(response)); }
public async ValueTask <ActionResult <long> > CreateWithdrawTransaction2([FromBody] AuthInputModel authInput) { if (authInput.Pin.Length != 6) { BadRequest("PIN not entered or incorrect number of characters entered"); } var tmp = await _operation.GetOperationById(authInput.Id); var operationModel = tmp.Data; var accountId = operationModel.AccountId; if (_authentication.ValidateTwoFactorPIN(accountId, authInput.Pin) == true) { if (operationModel.IsCompleted == false) { await _operation.CompletedOperation(authInput.Id); var transactionModel = _mapper.Map <TransactionInputModel>(operationModel); var currencyId = await _repo.GetCurrencyByAccountId(transactionModel.AccountId); transactionModel.CurrencyId = currencyId.Data; var restRequest = new RestRequest("transaction/withdraw", Method.POST, DataFormat.Json); restRequest.AddJsonBody(transactionModel); var result = await _restClient.ExecuteAsync <long>(restRequest); string code = Convert.ToString((CurrenciesCode)transactionModel.CurrencyId.Value); _logger.Info($"Create new WithdrawTransaction for Account [{transactionModel.AccountId}] " + $"{transactionModel.Amount} {code}"); return(MakeResponse(result)); } return(Ok("The operation was performed")); } return(BadRequest("Incorrect PIN entered")); }
public void ModifyAuth_Test() { AuthInputModel testModel = new AuthInputModel() { Pernr = "测试Pernr", Orgeh = Guid.NewGuid(), RoleID = Guid.NewGuid(), }; BaseResultModel <AuthOutputModel> result = AuthService.ModifyAuth(testModel); Assert.IsTrue(result.IsSuccess, result.ErrorMessage); testModel = new AuthInputModel() { AuthID = result.Data.AuthID, Pernr = "测试Pernr", }; result = AuthService.ModifyAuth(testModel); Assert.IsTrue(result.IsSuccess, result.ErrorMessage); BaseResultModel <int> delResult = AuthService.DeleteAuth(new List <Guid?>() { testModel.AuthID }); Assert.IsTrue(delResult.IsSuccess, delResult.ErrorMessage); }
public void ListPageAuth_Test() { AuthInputModel testModel = null; BaseResultModel <PageModel <AuthOutputModel> > result = AuthService.ListPageAuth(testModel); Assert.IsTrue(result.IsSuccess && result.Data.DataCount > 0, result.ErrorMessage); testModel = new AuthInputModel() { PageNO = 1, PageSize = 2, Pernr = "测试Pernr" }; result = AuthService.ListPageAuth(testModel); Assert.IsTrue(result.IsSuccess, result.ErrorMessage); }
/// <summary> /// 新增、修改用户权限表 /// </summary> /// <param name="model">OutputModel</param> /// <returns>OutputModel</returns> public BaseResultModel <AuthOutputModel> ModifyAuth(AuthInputModel model) { if (model == null) { return(new ErrorResultModel <AuthOutputModel>(EnumErrorCode.请求参数错误, "参数不能为空")); } ModelAttrEx arrtEx = new ModelAttrEx(); string modelErrorMes = ""; if (model.AuthID.IsNullOrEmpty()) { modelErrorMes += arrtEx.AddAttrVaild <AuthInputModel>(ModelState, model); } else { modelErrorMes += arrtEx.EditAttrVaild <AuthInputModel>(ModelState, model); } if (!modelErrorMes.IsNullOrEmpty()) { return(new ErrorResultModel <AuthOutputModel>(EnumErrorCode.请求参数错误, modelErrorMes)); } return(AuthService.ModifyAuth(model)); }
private async Task <ClaimsIdentity> GetIdentity(AuthInputModel currentUser) { LeadSearchInputModel searchModel = new LeadSearchInputModel() { Login = currentUser.Login }; var searchUser = await _leadRepository.SearchLead(_mapper.Map <LeadSearchModel>(searchModel)); var userInfo = await _leadRepository.GetLeadById((long)searchUser.RequestData[0].Id); if (searchUser != null && Hashing.ValidateUserPassword(currentUser.Password, userInfo.RequestData.Password)) { if (searchUser != null) { var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, currentUser.Login), }; ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Token"); return(claimsIdentity); } } return(null); }
/// <summary> /// 获取用户权限表列表分页 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaseResultModel <PageModel <AuthOutputModel> > ListPageAuth(AuthInputModel model) { try { if (model == null) { model = new AuthInputModel() { PageNO = 1, PageSize = int.MaxValue }; } model.IsDelete = false; using (this.AuthRepository.BeginLikeMode()) { return(new SuccessResultModel <PageModel <AuthOutputModel> >(this.AuthRepository.ListPage(model))); } } catch (Exception e) { LogWriter.WriteLog(EnumLogLevel.Fatal, "ListPageAuth", JsonConvert.SerializeObject(model), "Auth", "获取用户权限表列表分页查询数据时发生错误.", e); return(new ErrorResultModel <PageModel <AuthOutputModel> >(EnumErrorCode.系统异常, "获取用户权限表列表分页查询数据时发生错误!")); } }
/// <summary> /// 获取用户权限表列表分页 /// </summary> /// <param name="model">InputModel</param> /// <returns>OutputModel</returns> public BaseResultModel <PageModel <AuthOutputModel> > ListPageAuth(AuthInputModel model) { return(AuthService.ListPageAuth(model)); }