示例#1
0
        public ResultDto Post([FromBody] CreateGroupDto inputDto)
        {
            bool exist = _freeSql.Select <LinGroup>().Any(r => r.Name == inputDto.Name);

            if (exist)
            {
                throw new LinCmsException("分组已存在,不可创建同名分组", ErrorCode.RepeatField);
            }

            LinGroup             linGroup       = _mapper.Map <LinGroup>(inputDto);
            List <PermissionDto> permissionDtos = ReflexHelper.GeAssemblyLinCmsAttributes();

            _freeSql.Transaction(() =>
            {
                long groupId = _freeSql.Insert(linGroup).ExecuteIdentity();

                //批量插入
                List <LinAuth> linAuths = new List <LinAuth>();
                inputDto.Auths.ForEach(r =>
                {
                    PermissionDto pdDto = permissionDtos.FirstOrDefault(u => u.Permission == r);
                    if (pdDto == null)
                    {
                        throw new LinCmsException($"不存在此权限:{r}", ErrorCode.NotFound);
                    }
                    linAuths.Add(new LinAuth(r, pdDto.Module, (int)groupId));
                });

                _freeSql.Insert <LinAuth>().AppendData(linAuths).ExecuteAffrows();
            });
            return(ResultDto.Success("新建分组成功"));
        }
        public async Task <UnifyResponseDto> DispatchPermissions(DispatchPermissionsDto permissionDto)
        {
            List <PermissionDefinition> permissionDefinitions = ReflexHelper.GeAssemblyLinCmsAttributes();
            await _permissionService.DispatchPermissions(permissionDto, permissionDefinitions);

            return(UnifyResponseDto.Success("添加权限成功"));
        }
示例#3
0
        public void ConvertToTree()
        {
            List <PermissionDefinition> linCmsAttributes = ReflexHelper.GeAssemblyLinCmsAttributes();

            dynamic obj = ReflexHelper.AuthorizationConvertToTree(linCmsAttributes);

            string jsonSerializeObject = JsonConvert.SerializeObject(obj);
        }
        public IActionResult GetAllAuths()
        {
            List <PermissionDto> linCmsAttributes = ReflexHelper.GeAssemblyLinCmsAttributes();

            dynamic obj = ReflexHelper.AuthorizationConvertToTree(linCmsAttributes);

            return(Ok(obj));
        }
示例#5
0
        public void ReflexHelperTest()
        {
            List <PermissionDefinition> attributes = ReflexHelper.GeAssemblyLinCmsAttributes();

            foreach (PermissionDefinition attribute in attributes)
            {
                _testOutputHelper.WriteLine(attribute.ToString());
            }
        }
        public async Task StartAsync(CancellationToken cancellationToken = default)
        {
            try
            {
                using var scope = _serviceProvider.CreateScope();
                IDataSeedContributor dataSeedContributor = scope.ServiceProvider.GetRequiredService <IDataSeedContributor>();

                var permissions = ReflexHelper.GeAssemblyLinCmsAttributes();
                await dataSeedContributor.SeedPermissionAsync(permissions);

                await dataSeedContributor.InitAdminPermission();
            }
            catch (Exception ex)
            {
                _logger.LogError("初始化数据失败!!!", ex);
            };
        }
        public ResultDto DispatchAuths(AuthDto authDto)
        {
            List <PermissionDto> permissionDtos = ReflexHelper.GeAssemblyLinCmsAttributes();

            List <LinAuth> linAuths = new List <LinAuth>();

            foreach (string auth in authDto.Auths)
            {
                PermissionDto permission = permissionDtos.FirstOrDefault(r => r.Permission == auth);
                if (permission == null)
                {
                    throw new LinCmsException($"异常权限:{auth}");
                }
                linAuths.Add(new LinAuth(auth, permission.Module, authDto.GroupId));
            }

            _freeSql.Insert <LinAuth>(linAuths).ExecuteAffrows();

            return(ResultDto.Success("添加权限成功"));
        }