2016-09-24 11 views
0

Я использую Symfony2.8.10 + SonataAdminbundle + FosUserBundle/SonataUserBundleКак назначить разрешения для зарегистрированного пользователя для показа или редактирования собственного профиля с помощью SonataAdminBundle?

Пользователь может редактировать все пользователи при попытке назначить пользователю разрешение соната для пользователя. Но если я этого не сделаю, логируемый пользователь не сможет показать свой профиль. Что мне делать?

My acl setting

ответ

0

Проблема заключается в том, что вы устанавливаете для ACL действие не зависит от переменной, переданной ей. Тем не менее вы можете проверить, что, если человек зарегистрирован и имеет уровень редактирования пользователя, этот человек может редактировать только свой профиль. Если человек является администратором, он может редактировать все профили.

Я не думаю, что соната-админ действительно выполнена для этого, поскольку fos_user реализует уже свою собственную логику для этого. Вы можете найти форму под адресом: /{fos_user_route}/profile/edit/. Я предпочитаю использовать бэк-офис для администраторов и фронт-офиса для остальных. Более того, он помогает общей безопасности, так как пользователь не знает ссылку на бэк-офис.