新手,不清楚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ù)據(jù)庫里,同時(shí)在程序里標(biāo)識(shí)上。
然后把這個(gè)模塊和角色(role)關(guān)聯(lián)起來,記到一張表里,比如說編輯,可能操作的模塊是寫文章,編輯文章等等。
最后把 user 和 角色關(guān)聯(lián)起來。
這樣,當(dāng)某個(gè)用戶要執(zhí)行某個(gè)操作(訪問某個(gè)action的時(shí)候),可以把當(dāng)前用戶處在哪個(gè)角色讀出來。然后根據(jù)角色信息去角色模塊對(duì)應(yīng)表里找,是否有當(dāng)前操作模塊的記錄,有的話說明有授權(quán)。
以上是基本思路,不僅是CI,其它的框架也能用