mirror of https://github.com/abpframework/abp.git
8 changed files with 131 additions and 33 deletions
@ -1,12 +1,14 @@ |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using JetBrains.Annotations; |
|||
|
|||
namespace Volo.Abp.Identity |
|||
{ |
|||
public interface IIdentityDataSeeder |
|||
{ |
|||
Task<IdentityDataSeedResult> SeedAsync( |
|||
string adminUserPassword, |
|||
[NotNull] string adminEmail, |
|||
[NotNull] string adminPassword, |
|||
Guid? tenantId = null); |
|||
} |
|||
} |
|||
@ -0,0 +1,25 @@ |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.DependencyInjection; |
|||
|
|||
namespace Volo.Abp.Identity |
|||
{ |
|||
public class IdentityDataSeedContributor : IDataSeedContributor, ITransientDependency |
|||
{ |
|||
private readonly IIdentityDataSeeder _identityDataSeeder; |
|||
|
|||
public IdentityDataSeedContributor(IIdentityDataSeeder identityDataSeeder) |
|||
{ |
|||
_identityDataSeeder = identityDataSeeder; |
|||
} |
|||
|
|||
public Task SeedAsync(DataSeedContext context) |
|||
{ |
|||
return _identityDataSeeder.SeedAsync( |
|||
context["AdminEmail"] as string ?? "admin@abp.io", |
|||
context["AdminPassword"] as string ?? "1q2w3E*", |
|||
context.TenantId |
|||
); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.DependencyInjection; |
|||
|
|||
namespace Volo.Abp.PermissionManagement |
|||
{ |
|||
public class PermissionDataSeedContributor : IDataSeedContributor, ITransientDependency |
|||
{ |
|||
protected IPermissionDefinitionManager PermissionDefinitionManager { get; } |
|||
protected IPermissionDataSeeder PermissionDataSeeder { get; } |
|||
|
|||
public PermissionDataSeedContributor( |
|||
IPermissionDefinitionManager permissionDefinitionManager, |
|||
IPermissionDataSeeder permissionDataSeeder) |
|||
{ |
|||
PermissionDefinitionManager = permissionDefinitionManager; |
|||
PermissionDataSeeder = permissionDataSeeder; |
|||
} |
|||
|
|||
public Task SeedAsync(DataSeedContext context) |
|||
{ |
|||
var permissionNames = PermissionDefinitionManager |
|||
.GetPermissions() |
|||
.Select(p => p.Name) |
|||
//TODO: Filter host/tenant permissions!
|
|||
.ToArray(); |
|||
|
|||
return PermissionDataSeeder.SeedAsync( |
|||
RolePermissionValueProvider.ProviderName, |
|||
"admin", |
|||
permissionNames, |
|||
context.TenantId |
|||
); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue