@pro-dev

Как реализовать разрешения в api?

Хочу на frontend Vue реализовать проверку. Например, она заключается в том, чтобы если у пользователя есть разрешение управлять членами, то отображаем кнопку «Управление». В симфони это выглядело бы примерно так:

{% if is_granted('ROLE_MANAGE_MEMBERS') %}
            {% if member %}
                <a href="{{ path('members.show', {'id': member.id}) }}" class="btn btn-primary">View Member</a>
            {% else %}
                <a href="{{ path('members.create', {'id': user.id}) }}" class="btn btn-primary">Create Member</a>
            {% endif %}
        {% endif %}


С симфони понятно. Но так как есть отдельное приложение на vue которое используется независимо от api на симфони. То встаёт вопрос. Как мне управлять разрешениями пользователя? Таких проверок может быть много. Если человек админ, то показываем ему кнопки редактирования. Или редактировать можно админам, управляющим проекта и так далее.

Как это сделать в api?

У меня приходит только два варианта: это создать новый метод в api который будет проверять разрешения. Или передавать разрешения при запросе в api отдельным массивом. Как правильно? Как обычно делается?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
@karminski
Разработчик CRM/ERP систем
Разрешения должны прилететь в ответ на запрос на авторизацию пользователя. Далее их храним в объекте с профилем пользователя на фронте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы