Nop权限的使用

1.首先后台Admin--->siteMap中添加:

<siteMapNode SystemName="我是系统名" nopResource="显示的中文名称" PermissionNames="权限名称" controller="需要权限的控制器" action="需要权限的方法" IconClass="fa-dot-circle-o"/>(建议SystemName,PermissionNames使用同一个名字)

例如:<siteMapNode SystemName="ManageIndividualRegister" nopResource="企业信息" PermissionNames="ManageIndividualRegister" controller="Enterprise" action="ListRegister" IconClass="fa-dot-circle-o"/>

2.在StandardPermissionProvider类中添加:

 public static readonly PermissionRecord ManageEnterpriseRegister = new PermissionRecord { Name = "ManageIndividualRegister", SystemName = "ManageIndividualRegister", Category = "ManageIndividualRegister" };(建议三者使用同一个名字)

3.数据库权限记录表(PermissionRecord)中:与StandardPermissionProvider类中的名字一模一样插入。

4.在需要使用该条权限的类的方法中使用:

if (!_permissionService.Authorize(StandardPermissionProvider.ManageEnterpriseRegister ))
return AccessDeniedView();

5.以管理员的身份在后台进行访问控制的设置(系统配置下的访问控制):分配访问的权限(注册用户还是管理员)

注意:名称的统一。建议使用统一名称。

原文地址:https://www.cnblogs.com/wfaceboss/p/6034496.html