代码改变世界

nopCommerce 权限管理

2012-05-25 12:31  午夜瞎想  阅读(3154)  评论(6编辑  收藏  举报

一、认证

认证语句如下

麦库截图20121225121049374.jpg

这里不明白为什么没用FilterAttribute的形式来做权限管理,感觉这样写很不像NOP的风格,也不MVC。这里如果谁知道原因的请指教一下。

 

所有权限认证都通过PermissionService来管理,系统内置的权限统一在StandardPermissionProvider类里面。

StandardPermissionProvider类继承自IPermissionProvider接口,插件的权限也可以通过继承IPermissionProvider接口然后在系统界面统一管理。

PermissionService默认有三种验证方法

剪贴板20121225121555628.jpg

验证的方法也很简单,做了两个for循环进行查询此用户是否有此权限

剪贴板20121225122338191.jpg

 

 

二、添加权限

系统默认没有界面来添加权限,但可以通过插件的形式进行添加权限。

添加方法为继承IPermissionProvider接口,系统会遍历所有dll找寻实现此接口的权限列表,管理员可在访问控制列表统一进行管理。剪贴板20121225122019704.jpg

 

三、角色管理

角色没有特别的地方,系统内置的有四个角色并且管理员可在界面直接进行添加,添加完毕后权限列表页面可对这些角色进行权限管理。

如果角色多了的话这个页面就比较恐怖了,不过幸好这是一个B2C的系统角色应该不多。