zoukankan      html  css  js  c++  java
  • DataSeeder

    首先是实现IDataSeedContributor接口,此类型会自动加到AbpDataOptions的Contributors的列表

        public interface IDataSeedContributor
        {
            Task SeedAsync(DataSeedContext context);
        }

    IDataSeeder利用Contributors,逐个取出实例化进行执行,其中DataSeedContext是TenantId和自定义的Dictionary<string, object> Properties

    扩展一个SeedAsync方法tenantId,如果在多租户的环境,注意要带上

     public static Task SeedAsync(this IDataSeeder seeder, Guid? tenantId = null)
            {
                return seeder.SeedAsync(new DataSeedContext(tenantId));
            }

    ABP应用框架增加了两个方法,分别是用户和角色,以及权限 

    Volo.Abp.PermissionManagement

    IPermissionDataSeeder

    public virtual Task SeedAsync(DataSeedContext context)
            {
                var multiTenancySide = CurrentTenant.GetMultiTenancySide();
                var permissionNames = PermissionDefinitionManager
                    .GetPermissions()
                    .Where(p => p.MultiTenancySide.HasFlag(multiTenancySide))
                    .Select(p => p.Name)
                    .ToArray();
    
                return PermissionDataSeeder.SeedAsync(
                    RolePermissionValueProvider.ProviderName,
                    "admin",
                    permissionNames,
                    context.TenantId
                );
            }

    2、IIdentityDataSeeder

    Volo.Abp.Identity 

     public Task SeedAsync(DataSeedContext context)
            {
                return _identityDataSeeder.SeedAsync(
                    context["AdminEmail"] as string ?? "admin@abp.io",
                    context["AdminPassword"] as string ?? "1q2w3E*",
                    context.TenantId
                );
            }
  • 相关阅读:
    Dev:LookUpEdit的用法
    Excel:写入Excel单纯写入
    浅拷贝与深拷贝
    自行车的种类
    简单的话
    Excel:导入导出原文02
    VS2010中出现无法嵌入互操作类型
    U盘有时候不显示(win7 64位)
    Knockout学习之Single Page Application
    CSS点滴整理
  • 原文地址:https://www.cnblogs.com/cloudsu/p/11961047.html
Copyright © 2011-2022 走看看