Cancel event handlers in identity and permission modules.

pull/7577/head
Halil İbrahim Kalkan 5 years ago
parent a8b4e0dfa9
commit 6413691c0e

@ -1,13 +0,0 @@
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MultiTenancy
{
public class NullTenantDatabaseSchemaMigrator : ITenantDatabaseSchemaMigrator, ISingletonDependency
{
public Task MigrateAsync()
{
return Task.CompletedTask;
}
}
}

@ -1,13 +0,0 @@
using System.Threading.Tasks;
namespace Volo.Abp.MultiTenancy
{
public interface ITenantDatabaseSchemaMigrator
{
/// <summary>
/// Set Current Tenant before calling this method.
/// </summary>
/// <returns></returns>
Task MigrateAsync();
}
}

@ -6,7 +6,6 @@ using Microsoft.Extensions.Options;
using Volo.Abp.AutoMapper;
using Volo.Abp.Domain;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Modularity;
using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectExtending.Modularity;
@ -59,20 +58,6 @@ namespace Volo.Abp.Identity
});
context.Services.AddAbpDynamicOptions<IdentityOptions, AbpIdentityOptionsManager>();
Configure<AbpDistributedEventBusOptions>(options =>
{
var serviceProvider = context.Services.GetServiceProviderOrNull();
if (serviceProvider != null)
{
var abpIdentityOptions = serviceProvider.GetRequiredService<IOptions<AbpIdentityOptions>>().Value;
if (!abpIdentityOptions.IsDistributedEventHandlingEnabled)
{
var identityDomainAssembly = typeof(AbpIdentityDomainModule).Assembly;
options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly);
}
}
});
}
public override void PostConfigureServices(ServiceConfigurationContext context)

@ -4,11 +4,6 @@
{
public ExternalLoginProviderDictionary ExternalLoginProviders { get; }
/// <summary>
/// Default: true.
/// </summary>
public bool IsDistributedEventHandlingEnabled { get; } = true;
public AbpIdentityOptions()
{
ExternalLoginProviders = new ExternalLoginProviderDictionary();

@ -1,32 +0,0 @@
using System.Threading.Tasks;
using AutoMapper.Internal;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.Identity
{
public class IdentityTenantCreatedHandler : IDistributedEventHandler<TenantCreatedEto>, ITransientDependency
{
public ILogger<IdentityTenantCreatedHandler> Logger { get; set; }
protected IIdentityDataSeeder IdentityDataSeeder { get; }
public IdentityTenantCreatedHandler(IIdentityDataSeeder identityDataSeeder)
{
IdentityDataSeeder = identityDataSeeder;
Logger = NullLogger<IdentityTenantCreatedHandler>.Instance;
}
public async Task HandleEventAsync(TenantCreatedEto eventData)
{
await IdentityDataSeeder.SeedAsync(
eventData.Properties.GetOrDefault("AdminEmail") as string ?? "admin@abp.io",
eventData.Properties.GetOrDefault("AdminPassword") as string ?? "1q2w3E*",
eventData.Id
);
}
}
}

@ -4,7 +4,6 @@ using Microsoft.Extensions.Options;
using Volo.Abp.Authorization;
using Volo.Abp.Caching;
using Volo.Abp.Domain;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Json;
using Volo.Abp.Modularity;
@ -17,21 +16,6 @@ namespace Volo.Abp.PermissionManagement
[DependsOn(typeof(AbpJsonModule))]
public class AbpPermissionManagementDomainModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpDistributedEventBusOptions>(options =>
{
var serviceProvider = context.Services.GetServiceProviderOrNull();
if (serviceProvider != null)
{
var abpIdentityOptions = serviceProvider.GetRequiredService<IOptions<PermissionManagementOptions>>().Value;
if (!abpIdentityOptions.IsDistributedEventHandlingEnabled)
{
var identityDomainAssembly = typeof(AbpPermissionManagementDomainModule).Assembly;
options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly);
}
}
});
}
}
}

@ -9,11 +9,6 @@ namespace Volo.Abp.PermissionManagement
public Dictionary<string, string> ProviderPolicies { get; }
/// <summary>
/// Default: true.
/// </summary>
public bool IsDistributedEventHandlingEnabled { get; } = true;
public PermissionManagementOptions()
{
ManagementProviders = new TypeList<IPermissionManagementProvider>();

@ -1,38 +0,0 @@
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.PermissionManagement
{
public class PermissionTenantCreatedHandler : IDistributedEventHandler<TenantCreatedEto>, ITransientDependency
{
protected IPermissionDefinitionManager PermissionDefinitionManager { get; }
protected IPermissionDataSeeder PermissionDataSeeder { get; }
public PermissionTenantCreatedHandler(IPermissionDefinitionManager permissionDefinitionManager, IPermissionDataSeeder permissionDataSeeder)
{
PermissionDefinitionManager = permissionDefinitionManager;
PermissionDataSeeder = permissionDataSeeder;
}
public async Task HandleEventAsync(TenantCreatedEto eventData)
{
var permissionNames = PermissionDefinitionManager
.GetPermissions()
.Where(p => p.MultiTenancySide.HasFlag(MultiTenancySides.Tenant))
.Where(p => !p.Providers.Any() || p.Providers.Contains(RolePermissionValueProvider.ProviderName))
.Select(p => p.Name)
.ToArray();
await PermissionDataSeeder.SeedAsync(
RolePermissionValueProvider.ProviderName,
"admin",
permissionNames,
eventData.Id
);
}
}
}
Loading…
Cancel
Save