BonBonSlick
@BonBonSlick
Junior Web Developer Trainee

Почему Symfony требует префикс ROLE_ к ролям?

All roles you assign to a user must begin with the ROLE_ prefix. Otherwise, they won't be handled by Symfony's security system in the normal way (i.e. unless you're doing something advanced, assigning a role like FOO to a user and then checking for FOO as described below will not work)


Почему и зачем так? Как это может быть связано с "Security"? Что это дает?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Потому что кроме
if ($this->isGranted('ROLE_ADMIN')) {
// Тут код, который доступен только админу
}


Можно делать так
if ($this->isGranted('EDIT', $post)) {
// Тут код только для тех пользователей, которые могут редактировать конкретный пост
// Это может быть как автор поста (ROLE_USER), так и админ (ROLE_ADMIN)
}


Таким образом роли - это частный случай security-атрибутов

symfony.com/doc/current/security/voters.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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