我想大声告诉你2017-06-21 10:13:14
權限管理,通常使用 RBAC (Role-Based Access Control) 模式。
R : role 代表角色,主要給各個權限分組,例如管理員,編輯,審核員等等。
具體思路:
給程式的每個模組,可以考慮是每個 Controller 甚至細化到每個控制器的function。給這些模組取一個名字,記到資料庫裡,同時在程式裡標示上。
接著把這個模組和角色(role)關聯起來,記到一張表裡,比如說編輯,可能操作的模組是寫文章,編輯文章等等。
最後把 user 和 角色關聯起來。
這樣,當某個使用者要執行某個動作(造訪某個action的時候),可以把目前使用者處在哪個角色唸出來。然後根據角色資訊去角色模組對應表裡找,是否有當前操作模組的記錄,有的話說明有授權。
以上是基本思路,不只是CI,其它的框架也能用