我開發我的項目的訪問控制庫,我期待以最佳的解決方案來做到這一點:訪問控制問題
我正在從數據庫中所有我的訪問列表,以數組。在結果它看起來像這樣:
$array = array(
'*' => array('administrator' => TRUE),
'frontend/*' => array(
'user' => TRUE,
'unregistered' => TRUE
),
'backend/*' => array(
'user' => FALSE,
'unregistered' => FALSE
),
'backend/user/*' => array(
'moderator' => FALSE,
'supermoderator' => TRUE,
),
'backend/article/*' => array(
'supermoderator' => TRUE
),
'backend/article/add/new' => array(
'moderator' => TRUE
)
);
的「*」表示此用戶具有訪問所有相關選項後端/條/ *意味着該組可以訪問所有文章選項(文/添加,文章/刪除,...)。
正如您所看到的,超級監督器中沒有backend/article/add
中的項目,但它具有所有文章頁面的主控權限。
檢查此問題的最佳方法是什麼?我試過array_walk()
,但我想它不會幫助我。
感謝您的建議...
我可以共享我的整個代碼,如果你想。
*編輯*
我是否儲存錯了嗎?如果你有更好的解決方案來存儲它,我會很高興聽到它。
謝謝你的任何意見
是的我可以做到爆炸的資源和檢查它。我不需要程序員。但是因爲我不太瞭解所有的PHP函數,所以我認爲一些編碼人員可以提供我的功能。 – Valour 2011-06-11 23:02:39
除了可能'foreach','explode'和'in_array'之外,您並不特別需要任何PHP函數,但是這些函數在任何語言中都很常見,所以您的論點完全沒有意義。你需要一個算法。 – Halcyon 2011-06-11 23:06:17
如何儲存它們?我正在使用資源=>組關係。該組=>資源關係會更有幫助嗎? – Valour 2011-06-11 23:09:25