定義角色我對角色的一些問題,我想明白了很久:在捆綁配置
我們有一些捆綁,我們在幾個項目中使用。我們希望在bundle配置中定義角色,這樣我們就不會將角色複製到security.yml
中的role_hierarchy中。有沒有乾淨的方法來做到這一點?
我的第一個想法是將其導入role_hierarchy這樣的:
role_hierarchy:
ROLE_ADMIN: ROLE_USER, ROLE_TRANSLATOR
ROLE_SUPER_ADMIN: ROLE_ADMIN
ROLE_NOT_APPROVED_USER: ROLE_USER
ROLE_TRANSLATOR: ROLE_USER
"%base_bundle.role.hierarchy%"
當然,這是行不通的。有沒有可能這樣做(在yaml中合併數組)?
我的另一個想法是將角色存儲在數據庫中,但在我看來這是過度殺毒,因爲我們沒有動態角色。一切都是靜態的。
是否有任何解決方法來實現我嘗試做的事情?或者將它定義在一個包中是一個好主意?
2.我用角色權限(ROLE_POST_EDIT
,ROLE_POST_DELETE
...)和選民拒絕或批准對資源的訪問。所以最後有很多角色。將角色與權限混合使用是一個好主意嗎?如果不是最佳做法是什麼?
編輯:我覺得ROLE_POST_EDIT
和ROLE_USER
或ROLE_ADMIN
之間的差異。用戶有ROLE_USER
,因爲他是用戶。但用戶有「權限ROLE_EDIT_POST
」才能編輯帖子。在我看來,有一個區別。無論如何,我應該關心這種差異還是有其他的做法如何做?
你有沒有試過這樣: '''role_hierarchy: ROLE_SUPER_ADMIN:ROLE_ADMIN ROLE_NOT_APPROVED_USER:ROLE_USER ROLE_TRANSLATOR:ROLE_USER ROLE_ADMIN:[ROLE_USER,ROLE_TRANSLATOR]''' – rokas
不知道這將幫助你,但結帳這:http://php-and-symfony.matthiasnoback.nl/2012/07/symfony2-security-creating-dynamic-roles-using-roleinterface/ –
@rokas問題當然是,我我將數組參數'「%base_bundle.role.hierarchy%」'傳遞給角色層次結構。但問題不在於它。 @ B.Assem感謝您的鏈接。我已經看到了它,但可能沒有想太多。事實上,這可以是一條路。所以我可以編寫一個Role類並將bundle參數傳遞給它。 – user254319