在Yii RBAC中,有可能獲得有多少用戶有權限執行x的計數信息?計算有多少用戶有權限執行x操作?
我的意思是,一個能寫會的方法:在分配Db的
- 檢查所有用戶,
- 遞歸添加所有具有父權限的用戶,
- 並排除重複的ID。
但是有沒有預製的方法來做到這一點?提前感謝您的任何想法。
在Yii RBAC中,有可能獲得有多少用戶有權限執行x的計數信息?計算有多少用戶有權限執行x操作?
我的意思是,一個能寫會的方法:在分配Db的
但是有沒有預製的方法來做到這一點?提前感謝您的任何想法。
部分答案。
它不應該是很困難的只是檢查計,因爲你可以檢查authAssignment表,也許不喜歡一些SQL查詢:
SELECT COUNT(*) FROM `AuthAssignment` WHERE itemname = 'PermissionXname';
其他的事情需要一些想法,但不是不可能的,如果我得到它,我會讓你知道。
雖然我不確定是否有內置方法。
回想起來,我不確定你的問題中這3點意味着什麼。請詳細說明您是否可以。 – 2012-02-26 18:58:08
感謝您的回答,bool.dev。在第一篇文章中,這三點是關於在選擇分配的用戶之前獲取父權限的。這是最難的部分(遍歷權限樹)。然後,您可以通過「DISTINCT/UNION」MySQL語句選擇或統計所有唯一用戶。 – Sebastian 2012-02-26 21:31:20
嘿,如果可以的話分享你的rbac層次結構,那麼也許它會更容易理解,你可以在你的例子中給出像role1,task1,operation1這樣的名字,並且明確地指定父類。如果您可以將其作爲圖片進行分享,則效果更好你可以在問題中上傳圖片。 – 2012-02-27 09:48:45
由於Yii RBAC模式的構建,我覺得可能有這樣的數據存在問題:例如'authitemchild'表使用非常簡單的父子結構,這使得它很難遍歷。 – Sebastian 2012-02-26 16:32:42