新手,不清楚ci框架的權(quán)限控制思路,望各位大神指路!
小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。
權(quán)限管理,通常使用 RBAC (Role-Based Access Control) 模式。
R : role 代表角色,主要給各個(gè)權(quán)限分組,例如管理員,編輯,審核員等等。
具體思路:
給程式的每個(gè)模組,可以考慮是每個(gè) Controller 甚至細(xì)化到每個(gè)控制器的function。給這些模組取一個(gè)名字,記到資料庫裡,同時(shí)在程式裡標(biāo)示上。
接著把這個(gè)模組和角色(role)關(guān)聯(lián)起來,記到一張表裡,比如說編輯,可能操作的模組是寫文章,編輯文章等等。
最後把 user 和 角色關(guān)聯(lián)起來。
這樣,當(dāng)某個(gè)使用者要執(zhí)行某個(gè)動(dòng)作(造訪某個(gè)action的時(shí)候),可以把目前使用者處在哪個(gè)角色唸出來。然後根據(jù)角色資訊去角色模組對應(yīng)表裡找,是否有當(dāng)前操作模組的記錄,有的話說明有授權(quán)。
以上是基本思路,不只是CI,其它的框架也能用