From cbd90ef995458f22459b1b609cbfd1c30b0bcd6d Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Wed, 13 Sep 2023 17:24:59 -0400 Subject: [PATCH] Added permission seeding for client credentials flow --- ...dministrationServiceDataSeedContributor.cs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDataSeedContributor.cs diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDataSeedContributor.cs b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDataSeedContributor.cs new file mode 100644 index 00000000..b8b60132 --- /dev/null +++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDataSeedContributor.cs @@ -0,0 +1,32 @@ +using System.Threading.Tasks; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.PermissionManagement; +using Volo.Abp.Uow; + +namespace EShopOnAbp.AdministrationService.DbMigrations; + +public class AdministrationServiceDataSeedContributor : IDataSeedContributor, ITransientDependency +{ + private readonly IPermissionManager _permissionManager; + protected const string IdentityUsersDefaultPermission = "AbpIdentity.Users"; + protected const string IdentityUsersLookupPermission = "AbpIdentity.UserLookup"; + + public AdministrationServiceDataSeedContributor(IPermissionManager permissionManager) + { + _permissionManager = permissionManager; + } + + [UnitOfWork] + public virtual async Task SeedAsync(DataSeedContext context) + { + await SeedClientCredentialPermissionsAsync(); + } + + private async Task SeedClientCredentialPermissionsAsync() + { + await _permissionManager.SetAsync(IdentityUsersDefaultPermission, "C", "EShopOnAbp_AdministrationService", true); + await _permissionManager.SetAsync(IdentityUsersDefaultPermission, "C", "EShopOnAbp_CmskitService", true); + await _permissionManager.SetAsync(IdentityUsersLookupPermission, "C", "EShopOnAbp_CmskitService", true); + } +} \ No newline at end of file