第十二节 初始化权限

本节将讲述nopCommerce_4.20项目是怎样生成数据库中的权限表,并对其进行插入初始化的数据。

  1. 在Nop.Core\Domain\Security文件夹中添加DefaultPermissionRecord.cs、PermissionRecord.cs和PermissionRecordCustomerRoleMapping.cs三个类的定义。如图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、Nop.Data\Mapping\Security文件夹中添加PermissionRecordCustomerRoleMap.cs和PermissionRecordMap.css两个类的定义。如图

3、按F5在数据库被初始化后,发现会在相应的数据库中会出现相应的表PermissionRecord和PermissionRecord_Role_Mapping。

4、在InstallController.cs的public virtual IActionResult Index(InstallModel model)方法中添加以下代码:

//注册并初始化默认权限。

                var permissionProviders = new List<Type> { typeof(StandardPermissionProvider) };

                foreach (var providerType in permissionProviders)

                {

                    var provider = (IPermissionProvider)Activator.CreateInstance(providerType);

                    EngineContext.Current.Resolve<IPermissionService>().InstallPermissions(provider);

                }

5、上述语句中有许多代码没有被定义,因此要添加这些代码所需的定义文件IPermissionProvider.cs、IPermissionService.cs、PermissionService.cs和StandardPermissionProvider.cs。如图

6、在Nop.Web.Framework\Infrastructure文件夹中的PermissionRecordCustomerRoleMap.csDependencyRegistrar.cs文件中的public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)方法中添加下列语句:

builder.RegisterType<PermissionService>().As<IPermissionService>().InstancePerLifetimeScope();

7、按F5在数据库被初始化后,发现会在相应的数据库中会出现相应的表PermissionRecord和PermissionRecord_Role_Mapping,并在其中插入了默认的权限数据和相对应的角色映射数据。

至于更新详细的信息请见我所上传代码“2019-10-15_MyNopCommerce_VS19Core2.2Nop4.20(不删,009_初始化权限)。 (https://download.csdn.net/download/zhoujian_911/11866268)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值