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
                );
            }
  • 相关阅读:
    最近玩Bootstrap , 一些小工具 记录在案。
    测试word发表博客
    Linux at 定时任务
    Linux查看磁盘目录内存空间使用情况
    R生存分析AFT
    Accelerated Failure Time Models加速失效时间模型AFT
    Shell sleep指定延迟时间
    Shell脚本导入外部脚本内容
    Shell输入输出重定向
    Shell while
  • 原文地址:https://www.cnblogs.com/cloudsu/p/11961047.html
Copyright © 2011-2022 走看看