这篇文章简单介绍一下nopcommerce的权限模块,nopcommerce里面的权限设计相对比较简单,主要针对后台的action和前台的是否显示(比如产品、品牌等),虽然简单但是应付一般的项目应该没问题。

你只需要关注三张表:

1、AclRecord(访问控制表,比如控制某个产品某种角色前台是否可见)

2、PermissionRecord(权限表)

3、PermissionRecord_Role_Mapping(权限角色关联表)

AclRecord:

后台添加编辑产品或者品牌的时候你一定会看到有个标签叫做访问控制,如下图所示:

如果启用了并且选了对应的角色,那么保存的时候就会往这张表里面添加记录,其中EntityName是几个固定的,比如Product等,当然你也可以扩展,读取的时候就会关联到这张表进行查询,如图所示:

PermissionRecord和PermissionRecord_Role_Mapping是针对当前用户所属角色的,这部分主要用于后台,如果你看了代码你会发现后台controller里面每个action里面几乎都有类似代码,没有权限的话会返回空值或者跳转到没有权限的提示页面,如图所示:

那么如何添加自己的权限呢,首先找到Nop.Services\Security\StandardPermissionProvider.cs,参考上面的添加一条记录,别忘了GetPermissions()也要添加,还有数据库里面的表PermissionRecord添加记录,最后一步,在后台访问控制页面给每个角色设置权限。

分享是一种美。版权所有,转载请注明出处 http://www.nopchina.net/

最新文章

  1. Ubuntu14.10搭建C++开发环境
  2. 【krpano】krpano xml资源解密(破解)软件说明与下载(v1.2)
  3. 详解Android功耗分析工具Power Tutor的使用
  4. 就是这么简单!使用Rest-assured 测试Restful Web Services
  5. getUserMedia
  6. 重新想象 Windows 8 Store Apps (38) - 契约: Search Contract
  7. MVC Router学习
  8. Socket WSAAsyncSelect模型
  9. urllib3 ProxyManager
  10. 第九篇、CSS布局
  11. FormSheet式模态视图,点击模态视图外隐藏模态视图的方法
  12. asp.net下cookie 的基础使用
  13. 解析JSON、扩展Fiddler
  14. angularJS懒加载依赖模块
  15. js原生设计模式——8单例模式
  16. mysql中group by和order by同时使用无效的替代方案
  17. 2017-05-4-C语言学习笔记
  18. MES制造执行系统启动篇
  19. [物理学与PDEs]第1章习题9 磁偶极矩的极限矢势
  20. Object:所有类的超类

热门文章

  1. 刚刚开通博客,分享Asp.Net的GridView的基本用法
  2. Linux 安装 PHP 环境
  3. 关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
  4. 关于网络上的各种mysql性能测试结论
  5. Java 进程占用 VIRT 虚拟内存超高的问题研究
  6. TCP中close和shutdown之间的区别
  7. asp.net webform 与mvc 共享session
  8. android 不一样的学习记录
  9. GitHub上我收藏Java及Android的项目Demo
  10. SAP和Java系统的Webservice实例