1
我在我的Sonata項目中啓用了模擬。授予用戶權限時刪除'模擬'列ROLE_PREVIOUS_ADMIN
當具有角色'ROLE_ALLOWED_TO_SWITCH'的用戶冒充用戶時,我想在模仿時轉到用戶列表時隱藏列模擬。用戶不能冒充模仿,將拋出異常。但我不想要這個例外,我想要一個很好的信息來顯示它是不可能的,而是完全隱藏這個列,以便這些鏈接不可用。
if ($this->isGranted('ROLE_ALLOWED_TO_SWITCH')) {
$listMapper
->add('impersonating', 'string',
['template' => 'SonataUserBundle:Admin:Field/impersonating.html.twig'])
;
}
當用戶具有角色'ROLE_PREVIOUS_ADMIN'時,如何防止顯示此列?因爲這不希望工作:
if ($this->isGranted('ROLE_ALLOWED_TO_SWITCH') && !$this->isGranted('ROLE_PREVIOUS_ADMIN')) {
這並刪除列模擬的用戶,但它也獲取具有「ROLE_ALLOWED_TO_SWITCH」的作用,但不旺模擬用戶刪除。
您發佈的內容看起來正確。可能會仔細檢查它是否與您的實際代碼相符。同時檢查調試工具欄以查看用戶實際擁有的角色。可能是其他東西阻止顯示。 – Cerad