public void Define(Dictionary <string, PermissionGroupDefinition> groups)
        {
            var permissionGroupDefinition = new PermissionGroupDefinition(nameof(Api), ApiManagementPermissions.GroupName);

            permissionGroupDefinition.AddPermission(ApiManagementPermissions.Get);
            permissionGroupDefinition.AddPermission(ApiManagementPermissions.Post);
            groups.Add(permissionGroupDefinition.Name, permissionGroupDefinition);
        }
        public override void Define(IPermissionDefinitionContext context)
        {
            PermissionGroupDefinition getGroup = context.GetGroupOrNull("TestGetGroup");

            if (getGroup == null)
            {
                getGroup = context.AddGroup("TestGetGroup");
            }
            PermissionGroupDefinition group = context.AddGroup("TestGroup");

            group.AddPermission("MyAuthorizedService1");
        }
Exemplo n.º 3
0
    public virtual PermissionGroupDefinition AddGroup(string name, LocalizedString displayName = null)
    {
        if (name is null)
        {
            throw new ArgumentNullException(nameof(name));
        }

        if (Groups.ContainsKey(name))
        {
            throw new LinFxException($"There is already an existing permission group with name: {name}");
        }

        return(Groups[name] = new PermissionGroupDefinition(name, displayName));
    }
Exemplo n.º 4
0
    public virtual PermissionGroupDefinition AddGroup(
        string name,
        ILocalizableString displayName     = null,
        MultiTenancySides multiTenancySide = MultiTenancySides.Both)
    {
        Check.NotNull(name, nameof(name));

        if (Groups.ContainsKey(name))
        {
            throw new AbpException($"There is already an existing permission group with name: {name}");
        }

        return(Groups[name] = new PermissionGroupDefinition(name, displayName, multiTenancySide));
    }
Exemplo n.º 5
0
        public override void Define(IPermissionDefinitionContext context)
        {
            PermissionGroupDefinition snookerGroup = context.AddGroup(SnookerPermissions.GroupName);

            //Define your own permissions here. Example:
            //myGroup.AddPermission(SnookerPermissions.MyPermission1, L("Permission:MyPermission1"));

            PermissionDefinition clubPermission = snookerGroup.AddPermission(SnookerPermissions.Clubs.Default, L("Permission:Clubs"));

            clubPermission.AddChild(SnookerPermissions.Clubs.Create, L("Permission:Create"));
            clubPermission.AddChild(SnookerPermissions.Clubs.Edit, L("Permission:Edit"));
            clubPermission.AddChild(SnookerPermissions.Clubs.Delete, L("Permission:Delete"));

            PermissionDefinition playerPermission = snookerGroup.AddPermission(SnookerPermissions.Players.Default, L("Permission:Players"));

            playerPermission.AddChild(SnookerPermissions.Players.Create, L("Permission:Create"));
            playerPermission.AddChild(SnookerPermissions.Players.Edit, L("Permission:Edit"));
            playerPermission.AddChild(SnookerPermissions.Players.Delete, L("Permission:Delete"));
        }
        public override void Define(IPermissionDefinitionContext context)
        {
            PermissionGroupDefinition moduleGroup = context.AddGroup(HelloPermissions.GroupName, L("Hello"));

            PermissionDefinition city = moduleGroup.AddPermission(HelloPermissions.City.Default, L("Hello:City"));

            city.AddChild(HelloPermissions.City.View, L("Hello:City:View"));
            city.AddChild(HelloPermissions.City.Create, L("Hello:City:Create"));
            city.AddChild(HelloPermissions.City.Update, L("Hello:City:Update"));
            city.AddChild(HelloPermissions.City.Delete, L("Hello:City:Delete"));
            city.AddChild(HelloPermissions.City.Search, L("Hello:City:Search"));

            PermissionDefinition country = moduleGroup.AddPermission(HelloPermissions.Country.Default, L("Hello:Country"));

            country.AddChild(HelloPermissions.Country.View, L("Hello:Country:View"));
            country.AddChild(HelloPermissions.Country.Create, L("Hello:Country:Create"));
            country.AddChild(HelloPermissions.Country.Update, L("Hello:Country:Update"));
            country.AddChild(HelloPermissions.Country.Delete, L("Hello:Country:Delete"));
            country.AddChild(HelloPermissions.Country.Search, L("Hello:Country:Search"));
        }
Exemplo n.º 7
0
        /// <inheritdoc />
        public async Task SeedAsync(IServiceProvider serviceProvider)
        {
            string[] tenantIds   = new[] { "T20210602000001", "T20210602000002" };
            var      permissions = new Dictionary <string, List <string> >
            {
                { "ProductManager", new List <string>
                  {
                      "ProductManager.Products",
                      "ProductManager.Products.Create",
                      "ProductManager.Products.Edit",
                      "ProductManager.Products.Delete",

                      "ProductManager.Devices",
                      "ProductManager.Devices.Create",
                      "ProductManager.Devices.Edit",
                      "ProductManager.Devices.Delete",
                  } },
                { "TenantManager", new List <string>
                  {
                      "TenantManager.Tenant",
                      "TenantManager.Tenant.Create",
                      "TenantManager.Tenant.Edit",
                      "TenantManager.Tenant.Delete",
                  } },
                { "PermissionManager", new List <string>
                  {
                      "PermissionManager.PermissionGroup",
                      "PermissionManager.PermissionGroup.Create",
                      "PermissionManager.PermissionGroup.Edit",
                      "PermissionManager.PermissionGroup.Delete",

                      "PermissionManager.Permission",
                      "PermissionManager.Permission.Create",
                      "PermissionManager.Permission.Edit",
                      "PermissionManager.Permission.Delete",
                  } }
            };

            if (!(await _permissionGroup.AnyAsync()))
            {
                var group = new List <PermissionGroupDefinition>();
                foreach (var item in permissions)
                {
                    var permission = new PermissionGroupDefinition
                    {
                        Name        = item.Key,
                        DisplayName = item.Key,
                        CreateTime  = DateTime.Now,
                    };
                    permission.Permissions = new List <PermissionDefinition>();
                    foreach (var p in item.Value)
                    {
                        permission.Permissions.Add(new PermissionDefinition(p, p));
                    }
                    group.Add(permission);
                }
                await _permissionGroup.InsertAsync(group, true);
            }



            foreach (var tenantId in tenantIds)
            {
                using (_currentTenant.Change(tenantId, "租户一", out var scope))
                {
                    var productRepository = scope.ServiceProvider.GetService <IPermissionGrantRepository>();
                    if (await productRepository.AnyAsync())
                    {
                        continue;
                    }

                    foreach (var item in permissions)
                    {
                        foreach (var value in item.Value)
                        {
                            await productRepository.InsertAsync(new PermissionGrant
                            {
                                Name         = value,
                                ProviderName = "role",
                                ProviderKey  = "admin",
                            });
                        }
                    }
                    await productRepository.Uow.SaveChangesAsync();
                }
            }
        }