權限管理,一般使用 RBAC (Role-Based Access Control) 模式。
R : role 表明角色,主要給各個權限分組,例如管理員,編輯,審覈員等等。數據庫
具體思路:框架
給程序的每一個模塊,能夠考慮是每一個 Controller 甚至細化到每一個控制器的function。給這些模塊取一個名字,記到數據庫裏,同時在程序裏標識上。而後把這個模塊和角色(role)關聯起來,記到一張表裏,好比說編輯,可能操做的模塊是寫文章,編輯文章等等。
最後把 user 和 角色關聯起來。io
這樣,當某個用戶要執行某個操做(訪問某個action的時候),能夠把當前用戶處在哪一個角色讀出來。而後根據角色信息去角色模塊對應表裏找,是否有當前操做模塊的記錄,有的話說明有受權。
以上是基本思路,不只是CI,其它的框架也能用function