我想大声告诉你2017-06-21 10:13:14
权限管理,通常使用 RBAC (Role-Based Access Control) 模式。
R : role 代表角色,主要给各个权限分组,例如管理员,编辑,审核员等等。
具体思路:
给程序的每个模块,可以考虑是每个 Controller 甚至细化到每个控制器的function。给这些模块取一个名字,记到数据库里,同时在程序里标识上。
然后把这个模块和角色(role)关联起来,记到一张表里,比如说编辑,可能操作的模块是写文章,编辑文章等等。
最后把 user 和 角色关联起来。
这样,当某个用户要执行某个操作(访问某个action的时候),可以把当前用户处在哪个角色读出来。然后根据角色信息去角色模块对应表里找,是否有当前操作模块的记录,有的话说明有授权。
以上是基本思路,不仅是CI,其它的框架也能用