一、认证
认证语句如下
这里不明白为什么没用FilterAttribute的形式来做权限管理,感觉这样写很不像NOP的风格,也不MVC。这里如果谁知道原因的请指教一下。
所有权限认证都通过PermissionService来管理,系统内置的权限统一在StandardPermissionProvider类里面。
StandardPermissionProvider类继承自IPermissionProvider接口,插件的权限也可以通过继承IPermissionProvider接口然后在系统界面统一管理。
PermissionService默认有三种验证方法
验证的方法也很简单,做了两个for循环进行查询此用户是否有此权限
二、添加权限
系统默认没有界面来添加权限,但可以通过插件的形式进行添加权限。
添加方法为继承IPermissionProvider接口,系统会遍历所有dll找寻实现此接口的权限列表,管理员可在访问控制列表统一进行管理。
三、角色管理
角色没有特别的地方,系统内置的有四个角色并且管理员可在界面直接进行添加,添加完毕后权限列表页面可对这些角色进行权限管理。
如果角色多了的话这个页面就比较恐怖了,不过幸好这是一个B2C的系统角色应该不多。