diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/GlobalUsings.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/GlobalUsings.cs new file mode 100644 index 00000000..2bb55f88 --- /dev/null +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/GlobalUsings.cs @@ -0,0 +1,3 @@ +// Global using directives + +global using Volo.Abp.Authorization.Permissions; \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion.AbpPro.CAP.csproj b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion.AbpPro.CAP.csproj index ca4481a7..9ed054df 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion.AbpPro.CAP.csproj +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion.AbpPro.CAP.csproj @@ -2,13 +2,18 @@ netstandard2.1 - + Lion.AbpPro.CAP - - - + + + + + + + + diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapModule.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapModule.cs deleted file mode 100644 index 55c1303a..00000000 --- a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapModule.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Lion.AbpPro.CAP; - -[DependsOn(typeof(AbpEventBusModule))] -public class AbpProAbpCapModule : AbpModule -{ -} \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapConsumerServiceSelector.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapConsumerServiceSelector.cs similarity index 96% rename from aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapConsumerServiceSelector.cs rename to aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapConsumerServiceSelector.cs index d169aac0..ac4d7ece 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapConsumerServiceSelector.cs +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapConsumerServiceSelector.cs @@ -2,7 +2,7 @@ namespace Lion.AbpPro.CAP; [Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] [ExposeServices(typeof(IConsumerServiceSelector))] -public sealed class AbpProAbpCapConsumerServiceSelector : ConsumerServiceSelector +public sealed class LionAbpProCapConsumerServiceSelector : ConsumerServiceSelector { private AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; } private IServiceProvider ServiceProvider { get; } @@ -10,7 +10,7 @@ public sealed class AbpProAbpCapConsumerServiceSelector : ConsumerServiceSelecto /// /// Creates a new . /// - public AbpProAbpCapConsumerServiceSelector( + public LionAbpProCapConsumerServiceSelector( IServiceProvider serviceProvider, IOptions distributedEventBusOptions) : base(serviceProvider) diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapDistributedEventBus.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapDistributedEventBus.cs similarity index 97% rename from aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapDistributedEventBus.cs rename to aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapDistributedEventBus.cs index e9fd7003..11a310d4 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapDistributedEventBus.cs +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapDistributedEventBus.cs @@ -1,6 +1,6 @@ namespace Lion.AbpPro.CAP; -public class AbpProAbpCapDistributedEventBus : +public class LionAbpProCapDistributedEventBus : EventBusBase, IDistributedEventBus, ISingletonDependency @@ -12,7 +12,7 @@ public class AbpProAbpCapDistributedEventBus : private readonly ICapPublisher CapPublisher; - public AbpProAbpCapDistributedEventBus(IServiceScopeFactory serviceScopeFactory, + public LionAbpProCapDistributedEventBus(IServiceScopeFactory serviceScopeFactory, IOptions distributedEventBusOptions, ICapPublisher capPublisher, ICurrentTenant currentTenant, diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapModule.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapModule.cs new file mode 100644 index 00000000..a9c5e779 --- /dev/null +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapModule.cs @@ -0,0 +1,8 @@ +namespace Lion.AbpPro.CAP; + +[DependsOn( + typeof(AbpEventBusModule), + typeof(LionAbpProLocalizationModule))] +public class LionAbpProCapModule : AbpModule +{ +} \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissionDefinitionProvider.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissionDefinitionProvider.cs new file mode 100644 index 00000000..7a23dc94 --- /dev/null +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissionDefinitionProvider.cs @@ -0,0 +1,19 @@ +using Lion.AbpPro.Localization; +using Volo.Abp.Localization; + +namespace Lion.AbpPro.CAP; + +public class LionAbpProCapPermissionDefinitionProvider : PermissionDefinitionProvider +{ + public override void Define(IPermissionDefinitionContext context) + { + var abpIdentityGroup = context.GetGroup(LionAbpProCapPermissions.CapManagement.Default); + + abpIdentityGroup.AddPermission(LionAbpProCapPermissions.CapManagement.Cap, L("Permission:Cap")); + } + + private static LocalizableString L(string name) + { + return LocalizableString.Create(name); + } +} \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissions.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissions.cs new file mode 100644 index 00000000..0969e789 --- /dev/null +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapPermissions.cs @@ -0,0 +1,12 @@ +namespace Lion.AbpPro.CAP; + +public static class LionAbpProCapPermissions +{ + + public static class CapManagement + { + public const string Default = "AbpIdentity"; + public const string Cap = Default + ".Cap"; + + } +} \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapServiceCollectionExtensions.cs b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapServiceCollectionExtensions.cs similarity index 61% rename from aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapServiceCollectionExtensions.cs rename to aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapServiceCollectionExtensions.cs index 7d4bf53f..a85b754f 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProAbpCapServiceCollectionExtensions.cs +++ b/aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/LionAbpProCapServiceCollectionExtensions.cs @@ -1,14 +1,14 @@ namespace Lion.AbpPro.CAP; -public static class AbpProAbpCapServiceCollectionExtensions +public static class LionAbpProCapServiceCollectionExtensions { public static ServiceConfigurationContext AddAbpCap( this ServiceConfigurationContext context, Action capAction) { context.Services.AddCap(capAction); - context.Services.AddSingleton(); - context.Services.AddSingleton(); + context.Services.AddSingleton(); + context.Services.AddSingleton(); return context; } } \ No newline at end of file diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/en.json b/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/en.json index 3180088f..5dca3bc9 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/en.json +++ b/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/en.json @@ -1,6 +1,7 @@ { "culture": "en", "texts": { - "Welcome": "Welcome" + "Welcome": "Welcome", + "Permission:Cap": "CAP Dashboard" } } diff --git a/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/zh-Hans.json b/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/zh-Hans.json index 0963e295..49131ee6 100644 --- a/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/zh-Hans.json +++ b/aspnet-core/frameworks/src/Lion.AbpPro.Localization/Lion/AbpPro/Localization/Resources/zh-Hans.json @@ -1,6 +1,7 @@ { "culture": "zh-Hans", "texts": { - "Welcome": "欢迎" + "Welcome": "欢迎", + "Permission:Cap": "CAP面板" } } \ No newline at end of file diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json index 738374ec..3f392926 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json @@ -12,7 +12,6 @@ "Permission:SystemManagement": "SystemManagement", "Permission:AuditLogManagement": "AuditLog", "Permission:HangfireManagement": "BackgroundTask", - "Permission:CapManagement": "IntegratedEvent", "Permission:SettingManagement": "SettingManagement", "Permission:OrganizationUnitManagement": "OrganizationUnitManagement", "Setting.Group.System": "System", diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json index f17838de..2ef44a17 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json @@ -12,7 +12,6 @@ "Permission:AuditLogManagement": "审计日志", "Permission:SystemManagement": "系统管理", "Permission:HangfireManagement": "后台任务", - "Permission:CapManagement": "集成事件", "Permission:SettingManagement": "设置管理", "Permission:OrganizationUnitManagement": "组织结构管理", diff --git a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/NotificationManagementHttpApiHostModule.cs b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/NotificationManagementHttpApiHostModule.cs index 15724225..3f8022e9 100644 --- a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/NotificationManagementHttpApiHostModule.cs +++ b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/NotificationManagementHttpApiHostModule.cs @@ -8,7 +8,7 @@ namespace Lion.AbpPro.NotificationManagement; typeof(AbpCachingStackExchangeRedisModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule), - typeof(AbpProAbpCapModule), + typeof(LionAbpProCapModule), typeof(AbpEntityFrameworkCoreMySQLModule) )] public class NotificationManagementHttpApiHostModule : AbpModule diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs index b9534d5a..5bf05449 100644 --- a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs +++ b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs @@ -13,7 +13,7 @@ namespace Lion.AbpPro typeof(AbpAspNetCoreSerilogModule), typeof(AbpAccountWebModule), typeof(AbpProApplicationModule), - typeof(AbpProAbpCapModule), + typeof(LionAbpProCapModule), typeof(AbpAspNetCoreMvcUiBasicThemeModule), typeof(AbpCachingStackExchangeRedisModule), typeof(AbpBackgroundJobsHangfireModule) @@ -298,7 +298,9 @@ namespace Lion.AbpPro var hostingEnvironment = context.Services.GetHostingEnvironment(); bool auth = !hostingEnvironment.IsDevelopment(); - capOptions.UseDashboard(options => { options.UseAuth = auth; }); + capOptions.UseDashboard(options => { options.UseAuth = auth; + options.AuthorizationPolicy = LionAbpProCapPermissions.CapManagement.Cap; + }); }); } else diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json index 8caf2e30..c9f09cf0 100644 --- a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json +++ b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json @@ -14,7 +14,6 @@ "Permission:SystemManagement": "SystemManagement", "Permission:AuditLogManagement": "AuditLog", "Permission:HangfireManagement": "BackgroundTask", - "Permission:CapManagement": "IntegratedEvent", "Permission:ESManagement": "ESManagement", "Permission:SettingManagement": "SettingManagement", "Permission:OrganizationUnitManagement": "OrganizationUnitManagement", diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json index cd743ae3..978f8ee5 100644 --- a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json +++ b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json @@ -14,7 +14,6 @@ "Permission:AuditLogManagement": "审计日志", "Permission:SystemManagement": "系统管理", "Permission:HangfireManagement": "后台任务", - "Permission:CapManagement": "集成事件", "Permission:ESManagement": "ES日志", "Permission:SettingManagement": "设置管理", "Permission:OrganizationUnitManagement": "组织结构管理",