今天看了下Thinkphp示例中的rbac的示例,大概說下實現的思路
1、檢測是否開啟了權限驗證
2、檢測當前模塊是否需要驗證
3、檢測當前操作是否需要驗證
4、獲取用戶所屬角色的擁有的權限
5、根據所獲取的權限來驗證當前的操作是否允許。
有兩個疑問:
1、當前操作是否需要驗證,tp給出了使用配置文件中的兩個參數,一個存儲需要驗證的操作,一個是不需要驗證的操作,但是使用當前的操作來與他們進行匹配,若果不需要驗證的操作里面有add這個方法的話,所有模塊的add方法都會跳過驗證.
2、公共模塊的操作,在獲取角色擁有權限的時候,會把公共模塊的操作疊加到當前模塊的權限列表中,也就是在賦予一個角色公共模塊的添加操作的話,那么當前模塊的添加操作不管有沒有都會添加進去.
新聞熱點
疑難解答
圖片精選