Exemple #1
0
        public async Task <Result> ModifyPassword([FromBody] AccountModifyPasswordRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            int id           = HttpContext.User.UserId();
            var service      = this._serviceProvider.GetRequiredService <AccountPasswordChangeService>();
            var modifyResult = await service.Modify(id, dto.Password, dto.OldPassword);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.AccountModifyPassword, new { uid = id, data = dto }, "Success");  //记录日志
            await _accountRepository.ModifyAsync(modifyResult.Data);

            await _unitOfWork.CommitAsync(autoRollback : true);

            return(Result.ReSuccess());
        }
        public virtual async Task <Result> ModifyPassword(AccountModifyPasswordRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            int id           = 0;
            var service      = IocManager.Instance.Resolve <AccountPasswordChangeService>();
            var modifyResult = await service.Modify(id, dto.Password, dto.OldPassword);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.AccountModifyPassword, new { uid = id, data = dto }, "Success");  //记录日志
            await _accountRepository.ModifyAsync(modifyResult.Data);

            return(Result.ReSuccess());
        }
Exemple #3
0
        public async Task <Result> ResetPassword([FromBody] AccountModifyPasswordRequestDto dto)
        {
            var  server    = _serviceProvider.GetRequiredService <AccountService>();
            long?tenancyId = HttpContext.User.IsSuperRole() ? null : Convert.ToInt64(HttpContext.User.TenancyId());
            var  result    = await server.Get(dto.Id, tenancyId);

            if (!result.Success)
            {
                return(Result.ReFailure(result.Message, result.Status));
            }
            // 除总超级管理员之外其他不允许操作其他租户信息
            if (tenancyId != null && result.Data.TenancyId != tenancyId)
            {
                return(Result.ReFailure(ResultCodes.TenancyMatchExist));
            }
            var isPassword = result.Data.SetPassword(dto.Password);

            if (!isPassword.Success)
            {
                return(isPassword);
            }
            result.Data.CreateId = Convert.ToInt64(HttpContext.User.UserId());
            return(await server.Modify(result.Data));
        }