2016-06-05 3 views
0

У меня есть проект, в котором вы можете зарегистрировать, войти и загрузить фотографию с описанием и именем после входа в систему. Я использовал фильтры контроля доступа, поэтому только зарегистрированные пользователи могут загружать и редактировать фото.Yii2 простая авторизация с 1 роль

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

Как я могу обеспечить, чтобы пользователи могли редактировать только их собственные фотографии?

В документе yii2 я видел RBAC, но я не думаю, что мне нужен RBAC, потому что мне не нужно много ролей.

Мне нужна только 1 роль, и мой проект слишком прост для использования RBAC. Я также подумал, что могу выполнить цикл, где я могу проверить, есть ли у пользователя фотография, но я не думаю, что это хорошая практика.

ответ

0

Я предполагаю, что у вас есть таблица и модель со всеми данными загруженных изображений. Я бы посоветовал добавить в эту модель BlameableBehavior и добавить атрибуты created_by и updated_by (или настроить собственные).

После этого перед запуском любых actionUpdate() и actionDelete() вы можете проверить, совпадает ли идентификатор текущего пользователя с создателем.

Смежные вопросы