コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
ファイル: TokenController.cs プロジェクト: pkostereva/Crm
        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));
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <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));
        }
コード例 #7
0
ファイル: TokenController.cs プロジェクト: pkostereva/Crm
        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);
        }
コード例 #8
0
 /// <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.系统异常, "获取用户权限表列表分页查询数据时发生错误!"));
     }
 }
コード例 #9
0
 /// <summary>
 /// 获取用户权限表列表分页
 /// </summary>
 /// <param name="model">InputModel</param>
 /// <returns>OutputModel</returns>
 public BaseResultModel <PageModel <AuthOutputModel> > ListPageAuth(AuthInputModel model)
 {
     return(AuthService.ListPageAuth(model));
 }