Merge pull request #4855 from abpframework/maliming/PermissionDataSeedContributor

Filter permission provider in PermissionDataSeedContributor.
pull/4882/head
Halil İbrahim Kalkan 5 years ago committed by GitHub
commit a42ff8937b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -30,6 +30,7 @@ namespace Volo.Abp.PermissionManagement
var permissionNames = PermissionDefinitionManager
.GetPermissions()
.Where(p => p.MultiTenancySide.HasFlag(multiTenancySide))
.Where(p => !p.Providers.Any() || p.Providers.Contains(RolePermissionValueProvider.ProviderName))
.Select(p => p.Name)
.ToArray();

@ -0,0 +1,32 @@
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionDataSeedContributor_Tests : PermissionTestBase
{
private readonly PermissionDataSeedContributor _permissionDataSeedContributor;
private readonly IPermissionGrantRepository _grantpermissionGrantRepository;
public PermissionDataSeedContributor_Tests()
{
_permissionDataSeedContributor = GetRequiredService<PermissionDataSeedContributor>();
_grantpermissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task SeedAsync()
{
(await _grantpermissionGrantRepository.FindAsync("MyPermission1", RolePermissionValueProvider.ProviderName, "admin")).ShouldBeNull();
(await _grantpermissionGrantRepository.FindAsync("MyPermission4", RolePermissionValueProvider.ProviderName, "admin")).ShouldBeNull();
await _permissionDataSeedContributor.SeedAsync(new DataSeedContext(null));
(await _grantpermissionGrantRepository.FindAsync("MyPermission1", RolePermissionValueProvider.ProviderName, "admin")).ShouldNotBeNull();
(await _grantpermissionGrantRepository.FindAsync("MyPermission4", RolePermissionValueProvider.ProviderName, "admin")).ShouldBeNull();
}
}
}

@ -16,6 +16,8 @@ namespace Volo.Abp.PermissionManagement
myPermission2.AddChild("MyPermission2.ChildPermission1");
testGroup.AddPermission("MyPermission3", multiTenancySide: MultiTenancySides.Host);
testGroup.AddPermission("MyPermission4", multiTenancySide: MultiTenancySides.Host).WithProviders(UserPermissionValueProvider.ProviderName);
}
}
}
}

Loading…
Cancel
Save