2017-02-08 15 views
0

У меня есть ROLE_ADMIN: ROLE_USER и ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH], и я хотел добавить новую роль с разрешениями между обычным пользователем и администратором. Я совершенно новичок в symfony в целом, и я прочитал некоторую документацию об этом, но я просто не могу понять процесс создания новой роли. Первые вещи сначала: я должен делатьСоздание ролей в fosUserBundle

ROLE_ADMIN: ROLE_USER 
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, ROLE_NEW_ROLE] 

или

ROLE_ADMIN: ROLE_USER 
ROLE_NEW_ROLE: ROLE_USER 
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 

И второе: Помимо этого изменения в security.yml, в какие файлы мне нужно сделать, чтобы изменить что-то для того, чтобы просто завершить создание (не говоря уже о предоставлении определенных разрешений для этой новой роли).

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

ответ

2

Добро пожаловать в сообщество Symfony!

Проще говоря, определения ролей и иерархии совершенно разные.

Вы можете определить разные роли для своих пользователей, не указав их в своем проекте. С поощрением/разжаловать команды, например:

php app/console fos:user:promote 
php app/console fos:user:demote 

С другой стороны, если вы хотите создать иерархию между Пользователем и администратором, вы можете назначить права членов пользователя:

role_hierarchy: 
    ROLE_NEW_ROLE: ROLE_USER 
    ROLE_ADMIN: ROLE_NEW_ROLE 

Вот и все!