Yii2 простая авторизация с 1 ролью

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

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

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

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

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


person nikosson    schedule 05.06.2016    source источник


Ответы (1)


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

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

person Clyff    schedule 06.06.2016